spring boot 搭建的一個(gè)企業(yè)級(jí)快速開(kāi)發(fā)腳手架

源碼地址

https://github.com/javanan/slife

slife

spring boot 搭建的一個(gè)企業(yè)級(jí)快速開(kāi)發(fā)腳手架。

技術(shù)棧

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

編碼約定

系統(tǒng)分為controller、service、dao層。
controller主要負(fù)責(zé)轉(zhuǎn)發(fā)、service主要負(fù)責(zé)業(yè)務(wù)邏輯、dao主要是數(shù)據(jù)庫(kù)的操作。

文件名稱約定

在頁(yè)面文件夾中,按照功能模塊分別建立不同的文件夾存放頁(yè)面,如用戶的頁(yè)面就放在user文件夾中,而角色的就放在role文件夾中。

  1. 頁(yè)面如果是列表類型的。頁(yè)面的文件名用list.ftl命名。
  2. 頁(yè)面如果是詳情類型的。頁(yè)面的文件名用detail.ftl命名。

controller、service、dao方法名稱約定

  1. 如果是增加數(shù)據(jù)操作用insert做前綴。
  2. 如果是刪除操作用delete做前綴
  3. 如果是修改操作用update做前綴
  4. 如果是查詢操作用select做前綴

數(shù)據(jù)庫(kù)讀寫分離

緩存ecache、redis

新建模塊

  1. new Module
  2. GroupId --->com.slife
  3. ArtifactId---> slife-模塊名稱 如 slife-activiti
  4. Version --> 版本號(hào) 如 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>

新建一個(gè)功能模塊

1、創(chuàng)建數(shù)據(jù)庫(kù)

2、創(chuàng)建entity類

3、創(chuàng)建service類

4、創(chuàng)建controller類

5、創(chuàng)建list界面


5.1 到其他list復(fù)制代碼過(guò)


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

 中的 url 為你剛剛創(chuàng)建的 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_ 前綴 再加數(shù)據(jù)庫(kù)中的字段名稱即可



5.4 修改表格的字段名稱

項(xiàng)目截圖介紹

系統(tǒng)用戶管理

image

image

系統(tǒng)菜單管理

image

image

系統(tǒng)角色管理

RBAC權(quán)限管理模型
image

日志監(jiān)控

系統(tǒng)自定義注解,結(jié)合AOP,監(jiān)控用戶操作行為
image

Spring Boot Admin 監(jiān)控

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-erd7cAoP-1577440125214)(ya)]


image

Activit工作流

image

API文檔

swaggerUi接口文檔展示
image

數(shù)據(jù)庫(kù)監(jiān)控

使用druid監(jiān)控?cái)?shù)據(jù)庫(kù)健康。本來(lái)這里是三個(gè)數(shù)據(jù)源的,使用aop動(dòng)態(tài)的書(shū)寫切換。沒(méi)上傳到git,需要的同學(xué)可以私我
image

maven構(gòu)建 多模塊開(kāi)發(fā)

根據(jù)不同的業(yè)務(wù),不在不同的業(yè)務(wù)模塊中開(kāi)發(fā),如果基本的用戶、組織等的管理在 sys模塊
日志的業(yè)務(wù)邏輯在 log模塊
image

可插拔式部署
把不同的模塊打包成jar,對(duì)應(yīng)的freemark文件也打包在對(duì)應(yīng)的模塊jar中。實(shí)現(xiàn)了功能模塊的可插拔式部署。

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容