天天看點

spring boot 搭建的一個企業級快速開發腳手架源碼位址slife編碼約定資料庫讀寫分離緩存ecache、redis建立子產品JDK版本 1.8建立一個功能子產品項目截圖介紹

源碼位址

https://github.com/javanan/slife

slife

spring boot 搭建的一個企業級快速開發腳手架。           

技術棧

  1. Spring Boot
  2. MySQL
  3. Freemark
  4. SiteMesh
  5. Shiro
  6. Bootstrap
  7. mybatis、mybatisPlus
  8. redis
  9. Activiti

編碼約定

系統分為controller、service、dao層。

controller主要負責轉發、service主要負責業務邏輯、dao主要是資料庫的操作。

檔案名稱約定

在頁面檔案夾中,按照功能子產品分别建立不同的檔案夾存放頁面,如使用者的頁面就放在user檔案夾中,而角色的就放在role檔案夾中。

  1. 頁面如果是清單類型的。頁面的檔案名用list.ftl命名。
  2. 頁面如果是詳情類型的。頁面的檔案名用detail.ftl命名。

controller、service、dao方法名稱約定

  1. 如果是增加資料操作用insert做字首。
  2. 如果是删除操作用delete做字首
  3. 如果是修改操作用update做字首
  4. 如果是查詢操作用select做字首

資料庫讀寫分離

緩存ecache、redis

建立子產品

  1. new Module
  2. GroupId --->com.slife
  3. ArtifactId---> slife-子產品名稱 如 slife-activiti
  4. Version --> 版本号 如 1.0SNAPSHOT
  5. Module-Name--> slife-子產品名稱 如 slife-activiti
  6. 送出建立子產品
  7. pom 檔案引入
<name>slife-子產品名稱</name>

    <dependencies>
        <dependency>
            <groupId>com.slife</groupId>
            <artifactId>slife-common</artifactId>
        </dependency>

        .
        .
        .其他的依賴
        .
    </dependencies>           

JDK版本 1.8

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArgs>
                        <arg>-parameters</arg>
                    </compilerArgs>
                    <useIncrementalCompilation>false</useIncrementalCompilation>
                </configuration>
            </plugin>
        </plugins>
    </build>
           

建立一個功能子產品

1、建立資料庫

2、建立entity類

3、建立service類

4、建立controller類

5、建立list界面

5.1 到其他list複制代碼過


5.2 修改
 <script>
        var url = "${base}/sys/user/";
 </script>

 中的 url 為你剛剛建立的 controller的類
 @Controller
 @RequestMapping(value = "/sys/user")
 public class SysUserController extends BaseController {

 的  @RequestMapping(value = "/sys/user") 值



5.3 修改搜尋條件
目前的搜尋條件有
    /**
     * 等于
     */
    public static final String SEARCH_EQ="search_eq_";

    /**
     * 左模糊
     */
    public static final String SEARCH_LLIKE="search_llike_";

    /**
     * 右模糊
     */
    public static final String SEARCH_RLIKE="search_rlike_";

    /***
     * 全模糊
     */
    public static final String SEARCH_LIKE="search_like_";



     <input type="text" class="form-filter input-sm _search" name="search_eq_login_name">

     隻要在  input中 的 name 加入 search_eq_ 字首 再加資料庫中的字段名稱即可



5.4 修改表格的字段名稱
           

項目截圖介紹

系統使用者管理

系統菜單管理

系統角色管理

RBAC權限管理模型
           

日志監控

系統自定義注解,結合AOP,監控使用者操作行為
           

Spring Boot Admin 監控

[外鍊圖檔轉存失敗,源站可能有防盜鍊機制,建議将圖檔儲存下來直接上傳(img-erd7cAoP-1577440125214)(ya)]

Activit工作流

API文檔

swaggerUi接口文檔展示
           

資料庫監控

使用druid監控資料庫健康。本來這裡是三個資料源的,使用aop動态的書寫切換。沒上傳到git,需要的同學可以私我
           

maven建構 多子產品開發

根據不同的業務,不在不同的業務子產品中開發,如果基本的使用者、組織等的管理在 sys子產品
日志的業務邏輯在 log子產品
           

可插拔式部署

把不同的子產品打包成jar,對應的freemark檔案也打包在對應的子產品jar中。實作了功能子產品的可插拔式部署。