搭建項目結構
- 思想
-
前後端分離
前端 studyonline
後端 studyonline-server
-
後端分層
控制層:SpringMVC(DispatcherServlet)+Controller
業務層:Service+接口
資料通路層:Dao+接口
-
後端采用REST API對外開放
前端發出ajax,後端傳回json結果。
定義一個響應ResponseResult對象類型{ status: xx, //1表示成功;其他表示失敗 msg:xx,//提示資訊 data:xx //傳回的查詢結果;沒有可以為null }
public class ResponseResult{ private int status = 1;//預設成功 private String msg = "";//預設空 private Object data = null;//預設null //set和get方法 }
-
采用Redis做資料緩存
(通用資料)
-
- 項目結構(編碼、開發工具版本統一)
#後端 studyonline-server
-
編碼規約(參考阿裡Java手冊)
命名、注釋
-
包結構(事先定義好子產品名)
cn.xdl.studyonline.xxx //子產品
cn.xdl.studyonline.xxx.dao //子產品中資料通路
cn.xdl.studyonline.xxx.service //子產品中業務
cn.xdl.studyonline.xxx.controller //子產品中控制
cn.xdl.studyonline.common.util //通用層元件
cn.xdl.studyonline.common.sql //sql語句
cn.xdl.studyonline.common.entity //實體類
#前端 studyonline
- /WebContent/study //線上學習客戶界面
- /WebContent/exam //線上測試客戶界面
- /WebContent/manager //背景管理界面
-
- 搭建studyonline-server架構環境
####引入所需的架構資源jar包
主要技術:springmvc、springioc/aop、mybatis- spring mvc、ioc、aop、dao、test開發包
- spring-data-redis開發包
- gson開發包
- mybatis、mysql驅動、c3p0連接配接池
- mybatis-spring.jar
####引入所需的架構配置檔案
- spring配置檔案
- mybatis配置檔案
- 建構資料通路層
-
利用MyBatis Generator工具
作用:可以根據資料庫表自動生成實體類、SQL定義檔案、Mapper接口
使用方法:
-
引入工具包
mybatis-generator-core-1.3.2.jar
mysql-connector-java-5.1.7-bin.jar
- 在工程跟目錄下添加mbg.xml配置檔案
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!-- 指定驅動包所在位置 --> <classPathEntry location="E:\java10\mybatis-generator\WebContent\WEB-INF\lib\mysql-connector-java-5.1.7-bin.jar" /> <!-- 指定資料庫連接配接參數 --> <context id="mysqlTables" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/studyonline" userId="root" password="1234"> </jdbcConnection> <javaTypeResolver > <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 指定實體類放的位置 --> <javaModelGenerator targetPackage="cn.xdl.studyonline.common.entity" targetProject=".\src"> <property name="enableSubPackages" value="true" /> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 指定sql語句放置的位置 --> <sqlMapGenerator targetPackage="cn.xdl.studyonline.common.sql" targetProject=".\src"> <property name="enableSubPackages" value="true" /> </sqlMapGenerator> <!-- 指定mapper接口放置的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="cn.xdl.studyonline.dao" targetProject=".\src"> <property name="enableSubPackages" value="true" /> </javaClientGenerator> <!-- 指定哪些表生成 --> <table tableName="%" enableCountByExample="false" enableDeleteByExample="false" enableUpdateByExample="false" enableSelectByExample="false"> </table> </context> </generatorConfiguration>
- 寫一個類,main方法執行下面代碼
public static void main(String[] args) throws Exception{ List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = new File("mbg.xml");//在項目跟目錄下 ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); }
-
SVN版本控制工具的使用
作用:團隊開發中,代碼和文檔資料管理的工具。svn伺服器會對每一次修改保留一個版本備份。(邊開發邊整合應用)
-
安裝SVN伺服器端
VisualSVN-Server-2.7.3.msi
- 配置User通路使用者,建立連接配接帳号和密碼,發給用戶端使用
- 配置Repository資源庫,通路URL位址,發給用戶端使用
- 安裝SVN用戶端
- TortoiseSVN-1.9.5.27581-x64-svn-1.9.5.msi
- Eclipse擴充SVN插件**
- 安裝Eclipse擴充SVN插件
- 下載下傳svn插件site-1.10.13-1.8.x.zip
- 将壓縮包解壓放到eclipse\dropins目錄下
- 删除eclipse\configuration目錄下org.eclipse.update檔案夾
- 重新啟動eclipse
- Eclipse工具中SVN插件的使用
-
與資源庫同步
每次從SVN伺服器取代碼或送出代碼,先同步比對下,确認再做送出或更新
-
送出
将Eclipse工作空間代碼,送出到SVN伺服器上去
-
更新\覆寫更新
将SVN伺服器上的代碼,取到Eclipse工作空間
-
- SVN使用規則
- 工具、項目編碼、JDK版本等統一
- 每天早上擷取SVN伺服器代碼;晚上送出伺服器代碼。
- 擷取可以随時多做幾次,但是送出一定嚴格控制。
- 送出的代碼一定要先做嚴格測試沒問題;再與SVN伺服器比對下,确認後再送出操作。
- 送出和更新操作,隻針對代碼檔案,項目檔案例如.project等不要做送出和更新