框架调整
diff --git a/bundles/tomcat/druid-1.0.13.jar b/bundles/tomcat/druid-1.0.13.jar
new file mode 100644
index 0000000..2a6008a
--- /dev/null
+++ b/bundles/tomcat/druid-1.0.13.jar
Binary files differ
diff --git a/doc/cas-port.png b/doc/cas-port.png
new file mode 100644
index 0000000..a21c785
--- /dev/null
+++ b/doc/cas-port.png
Binary files differ
diff --git a/doc/oauth-port.png b/doc/oauth-port.png
new file mode 100644
index 0000000..3acb690
--- /dev/null
+++ b/doc/oauth-port.png
Binary files differ
diff --git a/doc/server-port.png b/doc/server-port.png
new file mode 100644
index 0000000..9843b52
--- /dev/null
+++ b/doc/server-port.png
Binary files differ
diff --git a/doc/server-start.png b/doc/server-start.png
new file mode 100644
index 0000000..fe33026
--- /dev/null
+++ b/doc/server-start.png
Binary files differ
diff --git a/doc/tomcat.gif b/doc/tomcat.gif
new file mode 100644
index 0000000..b9ed339
--- /dev/null
+++ b/doc/tomcat.gif
Binary files differ
diff --git "a/doc/\345\271\263\345\217\260\344\270\232\345\212\241\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272\346\226\207\346\241\243.html" "b/doc/\345\271\263\345\217\260\344\270\232\345\212\241\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272\346\226\207\346\241\243.html"
new file mode 100644
index 0000000..cc6a1b6
--- /dev/null
+++ "b/doc/\345\271\263\345\217\260\344\270\232\345\212\241\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272\346\226\207\346\241\243.html"
@@ -0,0 +1,388 @@
+<!DOCTYPE html>

+<html>

+<head>

+<title>平台业务开发环境搭建文档</title>

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<style type="text/css">

+/* GitHub stylesheet for MarkdownPad (http://markdownpad.com) */

+/* Author: Nicolas Hery - http://nicolashery.com */

+/* Version: b13fe65ca28d2e568c6ed5d7f06581183df8f2ff */

+/* Source: https://github.com/nicolahery/markdownpad-github */

+

+/* RESET

+=============================================================================*/

+

+html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {

+  margin: 0;

+  padding: 0;

+  border: 0;

+}

+

+/* BODY

+=============================================================================*/

+

+body {

+  font-family: Helvetica, arial, freesans, clean, sans-serif;

+  font-size: 14px;

+  line-height: 1.6;

+  color: #333;

+  background-color: #fff;

+  padding: 20px;

+  max-width: 960px;

+  margin: 0 auto;

+}

+

+body>*:first-child {

+  margin-top: 0 !important;

+}

+

+body>*:last-child {

+  margin-bottom: 0 !important;

+}

+

+/* BLOCKS

+=============================================================================*/

+

+p, blockquote, ul, ol, dl, table, pre {

+  margin: 15px 0;

+}

+

+/* HEADERS

+=============================================================================*/

+

+h1, h2, h3, h4, h5, h6 {

+  margin: 20px 0 10px;

+  padding: 0;

+  font-weight: bold;

+  -webkit-font-smoothing: antialiased;

+}

+

+h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {

+  font-size: inherit;

+}

+

+h1 {

+  font-size: 28px;

+  color: #000;

+}

+

+h2 {

+  font-size: 24px;

+  border-bottom: 1px solid #ccc;

+  color: #000;

+}

+

+h3 {

+  font-size: 18px;

+}

+

+h4 {

+  font-size: 16px;

+}

+

+h5 {

+  font-size: 14px;

+}

+

+h6 {

+  color: #777;

+  font-size: 14px;

+}

+

+body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {

+  margin-top: 0;

+  padding-top: 0;

+}

+

+a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {

+  margin-top: 0;

+  padding-top: 0;

+}

+

+h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {

+  margin-top: 10px;

+}

+

+/* LINKS

+=============================================================================*/

+

+a {

+  color: #4183C4;

+  text-decoration: none;

+}

+

+a:hover {

+  text-decoration: underline;

+}

+

+/* LISTS

+=============================================================================*/

+

+ul, ol {

+  padding-left: 30px;

+}

+

+ul li > :first-child, 

+ol li > :first-child, 

+ul li ul:first-of-type, 

+ol li ol:first-of-type, 

+ul li ol:first-of-type, 

+ol li ul:first-of-type {

+  margin-top: 0px;

+}

+

+ul ul, ul ol, ol ol, ol ul {

+  margin-bottom: 0;

+}

+

+dl {

+  padding: 0;

+}

+

+dl dt {

+  font-size: 14px;

+  font-weight: bold;

+  font-style: italic;

+  padding: 0;

+  margin: 15px 0 5px;

+}

+

+dl dt:first-child {

+  padding: 0;

+}

+

+dl dt>:first-child {

+  margin-top: 0px;

+}

+

+dl dt>:last-child {

+  margin-bottom: 0px;

+}

+

+dl dd {

+  margin: 0 0 15px;

+  padding: 0 15px;

+}

+

+dl dd>:first-child {

+  margin-top: 0px;

+}

+

+dl dd>:last-child {

+  margin-bottom: 0px;

+}

+

+/* CODE

+=============================================================================*/

+

+pre, code, tt {

+  font-size: 12px;

+  font-family: Consolas, "Liberation Mono", Courier, monospace;

+}

+

+code, tt {

+  margin: 0 0px;

+  padding: 0px 0px;

+  white-space: nowrap;

+  border: 1px solid #eaeaea;

+  background-color: #f8f8f8;

+  border-radius: 3px;

+}

+

+pre>code {

+  margin: 0;

+  padding: 0;

+  white-space: pre;

+  border: none;

+  background: transparent;

+}

+

+pre {

+  background-color: #f8f8f8;

+  border: 1px solid #ccc;

+  font-size: 13px;

+  line-height: 19px;

+  overflow: auto;

+  padding: 6px 10px;

+  border-radius: 3px;

+}

+

+pre code, pre tt {

+  background-color: transparent;

+  border: none;

+}

+

+kbd {

+    -moz-border-bottom-colors: none;

+    -moz-border-left-colors: none;

+    -moz-border-right-colors: none;

+    -moz-border-top-colors: none;

+    background-color: #DDDDDD;

+    background-image: linear-gradient(#F1F1F1, #DDDDDD);

+    background-repeat: repeat-x;

+    border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD;

+    border-image: none;

+    border-radius: 2px 2px 2px 2px;

+    border-style: solid;

+    border-width: 1px;

+    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;

+    line-height: 10px;

+    padding: 1px 4px;

+}

+

+/* QUOTES

+=============================================================================*/

+

+blockquote {

+  border-left: 4px solid #DDD;

+  padding: 0 15px;

+  color: #777;

+}

+

+blockquote>:first-child {

+  margin-top: 0px;

+}

+

+blockquote>:last-child {

+  margin-bottom: 0px;

+}

+

+/* HORIZONTAL RULES

+=============================================================================*/

+

+hr {

+  clear: both;

+  margin: 15px 0;

+  height: 0px;

+  overflow: hidden;

+  border: none;

+  background: transparent;

+  border-bottom: 4px solid #ddd;

+  padding: 0;

+}

+

+/* TABLES

+=============================================================================*/

+

+table th {

+  font-weight: bold;

+}

+

+table th, table td {

+  border: 1px solid #ccc;

+  padding: 6px 13px;

+}

+

+table tr {

+  border-top: 1px solid #ccc;

+  background-color: #fff;

+}

+

+table tr:nth-child(2n) {

+  background-color: #f8f8f8;

+}

+

+/* IMAGES

+=============================================================================*/

+

+img {

+  max-width: 100%

+}

+</style>

+</head>

+<body>

+<h1>平台业务开发环境搭建文档</h1>
+<p><br>

+<br>

+<br></p>
+<h2>搭建开发环境</h2>
+<p>以Eclipse <code>Version: Luna Service Release 2 (4.4.2)</code>为例。</p>
+<ul>
+<li>
+<p>Eclipse配置</p>
+<ul>
+<li>
+<p>编码</p>
+<blockquote>
+<p>Windows -&gt; Preferences -&gt; General -&gt; Workspace</p>
+</blockquote>
+<p>将 <code>Text file encoding</code> 改为<strong>UTF-8</strong>。</p>
+</li>
+<li>
+<p>Java</p>
+<blockquote>
+<p>Windows -&gt; Preferences -&gt; Java -&gt; Installed JREs </p>
+</blockquote>
+<p>添加Java 8</p>
+</li>
+</ul>
+</li>
+<li>
+<p>执行初始化脚本</p>
+<p>定位到<code>platform-biz-sample</code>下的<code>.envtools</code>目录。windows系统下执行<code>initForEclipse.bat</code>;Linux系统或者Shell下执行<code>initForEclipse.sh</code>。</p>
+</li>
+<li>
+<p>将工程导入Eclipse</p>
+<blockquote>
+<p>File -&gt; Import -&gt; Existing Projects into Workspace </p>
+</blockquote>
+<p>定位到 <code>platform-biz-sample</code> ,将 <code>module</code> 目录下的 <code>platform-biz-sample-module-notes</code> 和 <code>web</code> 目录下的 <code>platform-biz-sample-web-notes</code> 导入到Eclipse中。</p>
+</li>
+</ul>
+<h2>启动示例应用</h2>
+<ul>
+<li>
+<p>解压缩Tomcat</p>
+<p>解压缩 <code>platform-biz-sample/bundles/tomcat</code> 目录下的 <code>apache-tomcat-8.0.17.tar.gz</code> 。</p>
+<blockquote>
+<p>Windows -&gt; Preferences -&gt; Tomcat</p>
+</blockquote>
+<p>设置 <code>Tomcat Version</code> 为Version 7.x, <code>Tomcat Home</code> 为上一步Tomcat的解压缩路径。</p>
+</li>
+<li>
+<p>集成Tomcat插件</p>
+<p>将 <code>platform-biz-sample/bundles/tomcat</code> 目录下的 <code>com.sysdeo.eclipse.tomcat_3.3.1.jar</code> 拷贝到eclipse的 <code>plugins</code> 目录下。</p>
+</li>
+<li>
+<p>配置JNDI数据源</p>
+<p>将 <code>platform-biz-sample/bundles/tomcat</code> 目录下的 <code>druid-1.0.13.jar</code> 和 <code>DevloaderTomcat8.jar</code> 拷贝到<code>apache-tomcat-8.0.17/lib</code> 目录下</p>
+<p>找到 <code>apache-tomcat-8.0.17/conf</code> 目录下的 <code>context.xml</code>文件,在<Context></Context>标签中加入如下配置,数据库用户名为 <code>idc_u_biz_sample</code>, 密码为 <code>kingstar</code>。</p>
+<pre><code>&lt;Resource
+  name=&quot;jdbc/biz&quot;
+  factory=&quot;com.alibaba.druid.pool.DruidDataSourceFactory&quot;
+  auth=&quot;Container&quot;
+  type=&quot;javax.sql.DataSource&quot;
+
+  maxActive=&quot;100&quot;
+  maxIdle=&quot;30&quot;
+  maxWait=&quot;10000&quot;
+  url=&quot;jdbc:oracle:thin:@app.supwisdom.com:11521:dev&quot;
+  username=&quot;idc_u_biz_sample&quot;
+  password=&quot;kingstar&quot;
+  filters=&quot;stat&quot; /&gt;
+</code></pre>
+
+</li>
+<li>
+<p>修改Tomcat端口</p>
+<p>找到 <code>apache-tomcat-8.0.17/conf</code> 目录下的 <code>server.xml</code>文件,将Connector的HTTP端口修改为9038。</p>
+<p><img src="server-port.png" /></p>
+<p>或修改成自定义的端口,但 <code>platform-biz-sample-web-notes</code> 的 <code>src/main/resources</code> 下的 <code>cas.properties</code>和 <code>oauth2-client.properties</code> 中的相关配置需改为对应的端口。</p>
+<p><img src="cas-port.png" />
+<img src="oauth-port.png" /></p>
+</li>
+<li>
+<p>配置 <code>platform-biz-sample-web-notes</code> 的Tomcat属性</p>
+<p><img src="tomcat.gif" /></p>
+</li>
+<li>
+<p>启动Server并访问</p>
+<p>点击工具栏中的Tomcat图标启动服务器</p>
+<p><img src="server-start.png" /></p>
+<p>在浏览器中访问 <a href="http://localhost:9038/biz-notes">http://localhost:9038/biz-notes</a> ,用户名和密码为 <code>bizadmin</code>/<code>bizadmin</code></p>
+</li>
+</ul>
+

+</body>

+</html>

+<!-- This document was created with MarkdownPad, the Markdown editor for Windows (http://markdownpad.com) -->

diff --git "a/doc/\345\271\263\345\217\260\344\270\232\345\212\241\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272\346\226\207\346\241\243.md" "b/doc/\345\271\263\345\217\260\344\270\232\345\212\241\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272\346\226\207\346\241\243.md"
new file mode 100644
index 0000000..109bdf6
--- /dev/null
+++ "b/doc/\345\271\263\345\217\260\344\270\232\345\212\241\345\274\200\345\217\221\347\216\257\345\242\203\346\220\255\345\273\272\346\226\207\346\241\243.md"
@@ -0,0 +1,93 @@
+# 平台业务开发环境搭建文档

+<br>

+<br>

+<br>

+

+

+

+## 搭建开发环境

+

+以Eclipse ``Version: Luna Service Release 2 (4.4.2)``为例。

+

+* Eclipse配置

+

+	*	编码

+			

+		> Windows -> Preferences -> General -> Workspace

+

+		将 ``Text file encoding`` 改为**UTF-8**。

+		

+	*	Java

+

+		> Windows -> Preferences -> Java -> Installed JREs 

+		

+		添加Java 8

+

+* 执行初始化脚本

+	

+	定位到``platform-biz-sample``下的``.envtools``目录。windows系统下执行``initForEclipse.bat``;Linux系统或者Shell下执行``initForEclipse.sh``。

+

+* 将工程导入Eclipse

+

+	> File -> Import -> Existing Projects into Workspace 

+

+	定位到 ``platform-biz-sample`` ,将 ``module`` 目录下的 ``platform-biz-sample-module-notes`` 和 ``web`` 目录下的 ``platform-biz-sample-web-notes`` 导入到Eclipse中。

+		

+

+## 启动示例应用

+

+*	解压缩Tomcat

+

+	解压缩 ``platform-biz-sample/bundles/tomcat`` 目录下的 ``apache-tomcat-8.0.17.tar.gz`` 。

+

+	> Windows -> Preferences -> Tomcat

+	

+	设置 ``Tomcat Version`` 为Version 7.x, ``Tomcat Home`` 为上一步Tomcat的解压缩路径。

+

+*	集成Tomcat插件

+

+	将 ``platform-biz-sample/bundles/tomcat`` 目录下的 ``com.sysdeo.eclipse.tomcat_3.3.1.jar`` 拷贝到eclipse的 ``plugins`` 目录下。

+

+*	配置JNDI数据源

+

+	将 ``platform-biz-sample/bundles/tomcat`` 目录下的 ``druid-1.0.13.jar`` 和 ``DevloaderTomcat8.jar`` 拷贝到``apache-tomcat-8.0.17/lib`` 目录下

+	

+	找到 ``apache-tomcat-8.0.17/conf`` 目录下的 ``context.xml``文件,在<Context></Context>标签中加入如下配置,数据库用户名为 ``idc_u_biz_sample``, 密码为 ``kingstar``。

+

+	    <Resource

+	      name="jdbc/biz"

+	      factory="com.alibaba.druid.pool.DruidDataSourceFactory"

+	      auth="Container"

+	      type="javax.sql.DataSource"

+	

+	      maxActive="100"

+	      maxIdle="30"

+	      maxWait="10000"

+	      url="jdbc:oracle:thin:@app.supwisdom.com:11521:dev"

+	      username="idc_u_biz_sample"

+	      password="kingstar"

+	      filters="stat" />

+

+*	修改Tomcat端口

+

+	找到 ``apache-tomcat-8.0.17/conf`` 目录下的 ``server.xml``文件,将Connector的HTTP端口修改为9038。

+	

+	![](server-port.png)

+	

+	或修改成自定义的端口,但 ``platform-biz-sample-web-notes`` 的 ``src/main/resources`` 下的 ``cas.properties``和 ``oauth2-client.properties`` 中的相关配置需改为对应的端口。

+	

+	![](cas-port.png)

+	![](oauth-port.png)

+	

+*	配置 ``platform-biz-sample-web-notes`` 的Tomcat属性

+

+	![](tomcat.gif)

+

+*	启动Server并访问

+	

+	点击工具栏中的Tomcat图标启动服务器

+

+	![](server-start.png)

+

+	在浏览器中访问 [http://localhost:9038/biz-notes](http://localhost:9038/biz-notes) ,用户名和密码为 ``bizadmin``/``bizadmin``

+	
\ No newline at end of file
diff --git "a/doc/\345\271\263\345\217\260\344\270\232\345\212\241\346\241\206\346\236\266\345\274\200\345\217\221\346\226\207\346\241\243.html" "b/doc/\345\271\263\345\217\260\344\270\232\345\212\241\346\241\206\346\236\266\345\274\200\345\217\221\346\226\207\346\241\243.html"
new file mode 100644
index 0000000..1e8c8fb
--- /dev/null
+++ "b/doc/\345\271\263\345\217\260\344\270\232\345\212\241\346\241\206\346\236\266\345\274\200\345\217\221\346\226\207\346\241\243.html"
@@ -0,0 +1,340 @@
+<!DOCTYPE html>

+<html>

+<head>

+<title>平台业务框架开发文档</title>

+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

+<style type="text/css">

+/* GitHub stylesheet for MarkdownPad (http://markdownpad.com) */

+/* Author: Nicolas Hery - http://nicolashery.com */

+/* Version: b13fe65ca28d2e568c6ed5d7f06581183df8f2ff */

+/* Source: https://github.com/nicolahery/markdownpad-github */

+

+/* RESET

+=============================================================================*/

+

+html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {

+  margin: 0;

+  padding: 0;

+  border: 0;

+}

+

+/* BODY

+=============================================================================*/

+

+body {

+  font-family: Helvetica, arial, freesans, clean, sans-serif;

+  font-size: 14px;

+  line-height: 1.6;

+  color: #333;

+  background-color: #fff;

+  padding: 20px;

+  max-width: 960px;

+  margin: 0 auto;

+}

+

+body>*:first-child {

+  margin-top: 0 !important;

+}

+

+body>*:last-child {

+  margin-bottom: 0 !important;

+}

+

+/* BLOCKS

+=============================================================================*/

+

+p, blockquote, ul, ol, dl, table, pre {

+  margin: 15px 0;

+}

+

+/* HEADERS

+=============================================================================*/

+

+h1, h2, h3, h4, h5, h6 {

+  margin: 20px 0 10px;

+  padding: 0;

+  font-weight: bold;

+  -webkit-font-smoothing: antialiased;

+}

+

+h1 tt, h1 code, h2 tt, h2 code, h3 tt, h3 code, h4 tt, h4 code, h5 tt, h5 code, h6 tt, h6 code {

+  font-size: inherit;

+}

+

+h1 {

+  font-size: 28px;

+  color: #000;

+}

+

+h2 {

+  font-size: 24px;

+  border-bottom: 1px solid #ccc;

+  color: #000;

+}

+

+h3 {

+  font-size: 18px;

+}

+

+h4 {

+  font-size: 16px;

+}

+

+h5 {

+  font-size: 14px;

+}

+

+h6 {

+  color: #777;

+  font-size: 14px;

+}

+

+body>h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h4:first-child, body>h5:first-child, body>h6:first-child {

+  margin-top: 0;

+  padding-top: 0;

+}

+

+a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {

+  margin-top: 0;

+  padding-top: 0;

+}

+

+h1+p, h2+p, h3+p, h4+p, h5+p, h6+p {

+  margin-top: 10px;

+}

+

+/* LINKS

+=============================================================================*/

+

+a {

+  color: #4183C4;

+  text-decoration: none;

+}

+

+a:hover {

+  text-decoration: underline;

+}

+

+/* LISTS

+=============================================================================*/

+

+ul, ol {

+  padding-left: 30px;

+}

+

+ul li > :first-child, 

+ol li > :first-child, 

+ul li ul:first-of-type, 

+ol li ol:first-of-type, 

+ul li ol:first-of-type, 

+ol li ul:first-of-type {

+  margin-top: 0px;

+}

+

+ul ul, ul ol, ol ol, ol ul {

+  margin-bottom: 0;

+}

+

+dl {

+  padding: 0;

+}

+

+dl dt {

+  font-size: 14px;

+  font-weight: bold;

+  font-style: italic;

+  padding: 0;

+  margin: 15px 0 5px;

+}

+

+dl dt:first-child {

+  padding: 0;

+}

+

+dl dt>:first-child {

+  margin-top: 0px;

+}

+

+dl dt>:last-child {

+  margin-bottom: 0px;

+}

+

+dl dd {

+  margin: 0 0 15px;

+  padding: 0 15px;

+}

+

+dl dd>:first-child {

+  margin-top: 0px;

+}

+

+dl dd>:last-child {

+  margin-bottom: 0px;

+}

+

+/* CODE

+=============================================================================*/

+

+pre, code, tt {

+  font-size: 12px;

+  font-family: Consolas, "Liberation Mono", Courier, monospace;

+}

+

+code, tt {

+  margin: 0 0px;

+  padding: 0px 0px;

+  white-space: nowrap;

+  border: 1px solid #eaeaea;

+  background-color: #f8f8f8;

+  border-radius: 3px;

+}

+

+pre>code {

+  margin: 0;

+  padding: 0;

+  white-space: pre;

+  border: none;

+  background: transparent;

+}

+

+pre {

+  background-color: #f8f8f8;

+  border: 1px solid #ccc;

+  font-size: 13px;

+  line-height: 19px;

+  overflow: auto;

+  padding: 6px 10px;

+  border-radius: 3px;

+}

+

+pre code, pre tt {

+  background-color: transparent;

+  border: none;

+}

+

+kbd {

+    -moz-border-bottom-colors: none;

+    -moz-border-left-colors: none;

+    -moz-border-right-colors: none;

+    -moz-border-top-colors: none;

+    background-color: #DDDDDD;

+    background-image: linear-gradient(#F1F1F1, #DDDDDD);

+    background-repeat: repeat-x;

+    border-color: #DDDDDD #CCCCCC #CCCCCC #DDDDDD;

+    border-image: none;

+    border-radius: 2px 2px 2px 2px;

+    border-style: solid;

+    border-width: 1px;

+    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;

+    line-height: 10px;

+    padding: 1px 4px;

+}

+

+/* QUOTES

+=============================================================================*/

+

+blockquote {

+  border-left: 4px solid #DDD;

+  padding: 0 15px;

+  color: #777;

+}

+

+blockquote>:first-child {

+  margin-top: 0px;

+}

+

+blockquote>:last-child {

+  margin-bottom: 0px;

+}

+

+/* HORIZONTAL RULES

+=============================================================================*/

+

+hr {

+  clear: both;

+  margin: 15px 0;

+  height: 0px;

+  overflow: hidden;

+  border: none;

+  background: transparent;

+  border-bottom: 4px solid #ddd;

+  padding: 0;

+}

+

+/* TABLES

+=============================================================================*/

+

+table th {

+  font-weight: bold;

+}

+

+table th, table td {

+  border: 1px solid #ccc;

+  padding: 6px 13px;

+}

+

+table tr {

+  border-top: 1px solid #ccc;

+  background-color: #fff;

+}

+

+table tr:nth-child(2n) {

+  background-color: #f8f8f8;

+}

+

+/* IMAGES

+=============================================================================*/

+

+img {

+  max-width: 100%

+}

+</style>

+</head>

+<body>

+<h1>平台业务框架开发文档</h1>
+<p><br></p>
+<p>请参照 <code>platform-biz-sample-module-notes</code> 模块的代码阅读本文档。本框架中,一个模块的分为三层,<code>实体层</code>(Domain和Mapper)、<code>业务逻辑层</code>(Manager)和 <code>控制器层</code>(Controller),以下为各层的开发规范。</p>
+<p><br></p>
+<h2>Domain和Mapper</h2>
+<ul>
+<li>
+<p>Domain</p>
+<p>Domain实体层的基类为 <code>com.supwisdom.platform.biz.core.framework.domain.ABean</code> ,所有实体都必须继承该类。</p>
+</li>
+<li>
+<p>MyBatis Mapper</p>
+<p>本框架中ORM使用MyBatis。一般来说,一个实体对应一个Mapper配置文件,该配置文件放在 <code>src/main/resources</code>中的与对应实体相同的包名下,以 <strong>实体名+BaseMapper.xml</strong> 命名。XML中Mapper的namespace为对应实体的类名(包括包名)。</p>
+</li>
+</ul>
+<h2>Manager</h2>
+<ul>
+<li>
+<p>接口</p>
+<p>接口的一般以 <strong>I+实体名+Manager</strong> 命名,需继承 <code>com.supwisdom.platform.biz.core.framework.manager.IBaseManager</code> 这个基础接口并可自定义方法。</p>
+</li>
+<li>
+<p>基类</p>
+<p>Manager业务逻辑层的基类为 <code>com.supwisdom.platform.biz.core.framework.manager.ABaseManager</code>,该类实现了实体的一些基本的增删查改等方法(IBaseManager中定义的方法)。一般来说,一个Manager需要实现上面定义的接口并继承ABaseManager。</p>
+</li>
+</ul>
+<h2>Controller</h2>
+<ul>
+<li>
+<p>基类</p>
+<p>Controller控制器层的基类为 <code>com.supwisdom.platform.biz.core.framework.controller.ABaseRestController</code>,该类提供了一些基础的增删查改、列表、批量处理等API。</p>
+</li>
+<li>
+<p>异常处理</p>
+<p>捕获Controller中的异常并向外抛出 <code>com.supwisdom.platform.biz.core.framework.exception.RestException</code>。</p>
+</li>
+<li>
+<p>REST API 设计规范</p>
+<p>略</p>
+</li>
+</ul>
+<h2>前端API调用</h2>
+<p>前端API调用请参考 <code>platform-biz-sample-web-notes</code> 中的Notes示例。</p>
+

+</body>

+</html>

+<!-- This document was created with MarkdownPad, the Markdown editor for Windows (http://markdownpad.com) -->

diff --git "a/doc/\345\271\263\345\217\260\344\270\232\345\212\241\346\241\206\346\236\266\345\274\200\345\217\221\346\226\207\346\241\243.md" "b/doc/\345\271\263\345\217\260\344\270\232\345\212\241\346\241\206\346\236\266\345\274\200\345\217\221\346\226\207\346\241\243.md"
new file mode 100644
index 0000000..3a06712
--- /dev/null
+++ "b/doc/\345\271\263\345\217\260\344\270\232\345\212\241\346\241\206\346\236\266\345\274\200\345\217\221\346\226\207\346\241\243.md"
@@ -0,0 +1,45 @@
+# 平台业务框架开发文档

+<br>

+

+请参照 ``platform-biz-sample-module-notes`` 模块的代码阅读本文档。本框架中,一个模块的分为三层,``实体层``(Domain和Mapper)、``业务逻辑层``(Manager)和 ``控制器层``(Controller),以下为各层的开发规范。

+

+<br>

+

+

+## Domain和Mapper

+

+* Domain

+

+	Domain实体层的基类为 ``com.supwisdom.platform.biz.core.framework.domain.ABean`` ,所有实体都必须继承该类。

+

+* MyBatis Mapper

+

+	本框架中ORM使用MyBatis。一般来说,一个实体对应一个Mapper配置文件,该配置文件放在 ``src/main/resources``中的与对应实体相同的包名下,以 **实体名+BaseMapper.xml** 命名。XML中Mapper的namespace为对应实体的类名(包括包名)。

+

+## Manager

+

+* 接口

+

+	接口的一般以 **I+实体名+Manager** 命名,需继承 ``com.supwisdom.platform.biz.core.framework.manager.IBaseManager`` 这个基础接口并可自定义方法。

+

+* 基类

+

+	Manager业务逻辑层的基类为 ``com.supwisdom.platform.biz.core.framework.manager.ABaseManager``,该类实现了实体的一些基本的增删查改等方法(IBaseManager中定义的方法)。一般来说,一个Manager需要实现上面定义的接口并继承ABaseManager。

+

+## Controller

+

+* 基类

+

+	Controller控制器层的基类为 ``com.supwisdom.platform.biz.core.framework.controller.ABaseRestController``,该类提供了一些基础的增删查改、列表、批量处理等API。

+

+* 异常处理

+

+	捕获Controller中的异常并向外抛出 ``com.supwisdom.platform.biz.core.framework.exception.RestException``。

+

+* REST API 设计规范

+

+	略

+

+## 前端API调用

+

+前端API调用请参考 ``platform-biz-sample-web-notes`` 中的Notes示例。
\ No newline at end of file
diff --git a/module/platform-biz-sample-module-notes/pom.xml b/module/platform-biz-sample-module-notes/pom.xml
index 8ff883f..edd9c2d 100644
--- a/module/platform-biz-sample-module-notes/pom.xml
+++ b/module/platform-biz-sample-module-notes/pom.xml
@@ -57,6 +57,12 @@
 			<groupId>com.supwisdom.platform.biz</groupId>
 			<artifactId>platform-module-third</artifactId>
 		</dependency>
+		
+		<dependency>
+			<groupId>javax.servlet</groupId>
+			<artifactId>javax.servlet-api</artifactId>
+			<scope>provided</scope>
+		</dependency>
 	</dependencies>
 
 </project>
diff --git a/web/platform-biz-sample-web-notes/src/main/resources/oauth.properties b/web/platform-biz-sample-web-notes/src/main/resources/oauth.properties
new file mode 100644
index 0000000..c63a837
--- /dev/null
+++ b/web/platform-biz-sample-web-notes/src/main/resources/oauth.properties
@@ -0,0 +1,2 @@
+#AccessToken\u6709\u6548\u671f

+access.token.validity=1200
\ No newline at end of file
diff --git a/web/platform-biz-sample-web-notes/src/main/resources/spring-override/platform-core-framework/spring-cache.xml b/web/platform-biz-sample-web-notes/src/main/resources/spring-override/platform-core-framework/spring-cache.xml
index f9ef0ff..3d608fa 100644
--- a/web/platform-biz-sample-web-notes/src/main/resources/spring-override/platform-core-framework/spring-cache.xml
+++ b/web/platform-biz-sample-web-notes/src/main/resources/spring-override/platform-core-framework/spring-cache.xml
@@ -5,6 +5,23 @@
 		http://www.springframework.org/schema/beans 

 		http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">

 		

-	<bean id="cacheVisitor" class="com.supwisdom.platform.biz.core.common.cache.impl.CacheInMemoryVisitorImpl" />

+	<!-- 默认使用CacheInMemoryVisitorImpl,如果想使用Redis缓存,请去掉注释 -->	

+	<!-- <bean id="cacheVisitor" class="com.supwisdom.platform.biz.core.common.cache.impl.CacheInRedisVisitorImpl">

+		<constructor-arg ref="jedisConnectionFactory"/>

+	</bean>

 	

+	<bean id="propertyPlaceHolder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

+	  <property name="ignoreUnresolvablePlaceholders" value="true" />

+	  <property name="locations">

+	    <list>

+	      <value>classpath:redis.properties</value>

+	    </list>

+	  </property>

+	</bean>

+	

+	<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" >

+		<property name="hostName" value="${redis.hostName}"/>

+		<property name="port" value="${redis.port}"/>

+		<property name="password" value="${redis.password}"/>

+	</bean> -->

 </beans>
\ No newline at end of file
diff --git a/web/platform-biz-sample-web-notes/src/main/resources/spring-override/platform-module-security/spring-security-oauth2.xml b/web/platform-biz-sample-web-notes/src/main/resources/spring-override/platform-module-security/spring-security-oauth2.xml
index 7ef7ec7..eb475ca 100644
--- a/web/platform-biz-sample-web-notes/src/main/resources/spring-override/platform-module-security/spring-security-oauth2.xml
+++ b/web/platform-biz-sample-web-notes/src/main/resources/spring-override/platform-module-security/spring-security-oauth2.xml
@@ -4,8 +4,11 @@
 	xsi:schemaLocation="

 		http://www.springframework.org/schema/beans 

 		http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">

-		

-	<bean id="tokenStore"

-		class="org.springframework.security.oauth2.provider.token.store.InMemoryTokenStore" />

+	

+

+	<!-- 默认使用 InMemoryTokenStore,如果想使用RedisTokenStore,请去掉注释,且spring-cahche.xml中的也需要去掉Redis注释-->	

+	<!-- <bean id="tokenStore" class="org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore" >

+			<constructor-arg ref="jedisConnectionFactory"/>

+	</bean> -->

 	

 </beans>
\ No newline at end of file
diff --git a/web/pom.xml b/web/pom.xml
index a269d47..d4f5e24 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -14,7 +14,7 @@
 	<url>http://maven.apache.org/</url>
 
 	<modules>
-		<module>platform-web-notes</module>
+		<module>platform-biz-sample-web-notes</module>
 	</modules>
 
 	<dependencies>