天天看點

java,ssm和svn伺服器使用規範和結構#後端 studyonline-server#前端 studyonlineSVN版本控制工具的使用

搭建項目結構

  1. 思想
    • 前後端分離

      前端 studyonline

      後端 studyonline-server

    • 後端分層

      控制層:SpringMVC(DispatcherServlet)+Controller

      業務層:Service+接口

      資料通路層:Dao+接口

    • 後端采用REST API對外開放

      前端發出ajax,後端傳回json結果。

    java,ssm和svn伺服器使用規範和結構#後端 studyonline-server#前端 studyonlineSVN版本控制工具的使用
    統一後端傳回JSON結果的格式:
    {
        status: xx, //1表示成功;其他表示失敗
        msg:xx,//提示資訊
        data:xx //傳回的查詢結果;沒有可以為null
    }
               
    定義一個響應ResponseResult對象類型
    public class ResponseResult{
        private int status = 1;//預設成功
        private String msg = "";//預設空
        private Object data = null;//預設null
        //set和get方法
    }
               
    • 采用Redis做資料緩存

      (通用資料)

  2. 項目結構(編碼、開發工具版本統一)

    #後端 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 //背景管理界面
  3. 搭建studyonline-server架構環境

    ####引入所需的架構資源jar包

    主要技術:springmvc、springioc/aop、mybatis
    • spring mvc、ioc、aop、dao、test開發包
    • spring-data-redis開發包
    • gson開發包
    • mybatis、mysql驅動、c3p0連接配接池
    • mybatis-spring.jar

    ####引入所需的架構配置檔案

    • spring配置檔案
    (spring-mybatis.xml、spring-redis.xml、spring-aop.xml、spring-mvc.xml、spring-transaction.xml等)
    • mybatis配置檔案
    (sqlmap-config.xml)
  4. 建構資料通路層
    java,ssm和svn伺服器使用規範和結構#後端 studyonline-server#前端 studyonlineSVN版本控制工具的使用
  5. 利用MyBatis Generator工具

    作用:可以根據資料庫表自動生成實體類、SQL定義檔案、Mapper接口

    使用方法:

    • 引入工具包

      mybatis-generator-core-1.3.2.jar

      mysql-connector-java-5.1.7-bin.jar

    • 在工程跟目錄下添加mbg.xml配置檔案
    java,ssm和svn伺服器使用規範和結構#後端 studyonline-server#前端 studyonlineSVN版本控制工具的使用
    <?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伺服器會對每一次修改保留一個版本備份。(邊開發邊整合應用)

java,ssm和svn伺服器使用規範和結構#後端 studyonline-server#前端 studyonlineSVN版本控制工具的使用
  1. 安裝SVN伺服器端

    VisualSVN-Server-2.7.3.msi

    java,ssm和svn伺服器使用規範和結構#後端 studyonline-server#前端 studyonlineSVN版本控制工具的使用
    • 配置User通路使用者,建立連接配接帳号和密碼,發給用戶端使用
    • 配置Repository資源庫,通路URL位址,發給用戶端使用
  2. 安裝SVN用戶端
    • TortoiseSVN-1.9.5.27581-x64-svn-1.9.5.msi
    • Eclipse擴充SVN插件**
  3. 安裝Eclipse擴充SVN插件
    • 下載下傳svn插件site-1.10.13-1.8.x.zip
    • 将壓縮包解壓放到eclipse\dropins目錄下
    • 删除eclipse\configuration目錄下org.eclipse.update檔案夾
    • 重新啟動eclipse
    java,ssm和svn伺服器使用規範和結構#後端 studyonline-server#前端 studyonlineSVN版本控制工具的使用
    java,ssm和svn伺服器使用規範和結構#後端 studyonline-server#前端 studyonlineSVN版本控制工具的使用
    利用Repository的URL和連接配接帳号+密碼,建立與SVN伺服器的連接配接。
    java,ssm和svn伺服器使用規範和結構#後端 studyonline-server#前端 studyonlineSVN版本控制工具的使用
  4. Eclipse工具中SVN插件的使用
    • 與資源庫同步

      每次從SVN伺服器取代碼或送出代碼,先同步比對下,确認再做送出或更新

    • 送出

      将Eclipse工作空間代碼,送出到SVN伺服器上去

    • 更新\覆寫更新

      将SVN伺服器上的代碼,取到Eclipse工作空間

  5. SVN使用規則
    • 工具、項目編碼、JDK版本等統一
    • 每天早上擷取SVN伺服器代碼;晚上送出伺服器代碼。
    • 擷取可以随時多做幾次,但是送出一定嚴格控制。
    • 送出的代碼一定要先做嚴格測試沒問題;再與SVN伺服器比對下,确認後再送出操作。
    • 送出和更新操作,隻針對代碼檔案,項目檔案例如.project等不要做送出和更新