源碼位址
https://github.com/javanan/slifeslife
spring boot 搭建的一個企業級快速開發腳手架。
技術棧
- Spring Boot
- MySQL
- Freemark
- SiteMesh
- Shiro
- Bootstrap
- mybatis、mybatisPlus
- redis
- Activiti
編碼約定
系統分為controller、service、dao層。
controller主要負責轉發、service主要負責業務邏輯、dao主要是資料庫的操作。
檔案名稱約定
在頁面檔案夾中,按照功能子產品分别建立不同的檔案夾存放頁面,如使用者的頁面就放在user檔案夾中,而角色的就放在role檔案夾中。
- 頁面如果是清單類型的。頁面的檔案名用list.ftl命名。
- 頁面如果是詳情類型的。頁面的檔案名用detail.ftl命名。
controller、service、dao方法名稱約定
- 如果是增加資料操作用insert做字首。
- 如果是删除操作用delete做字首
- 如果是修改操作用update做字首
- 如果是查詢操作用select做字首
資料庫讀寫分離
緩存ecache、redis
建立子產品
- new Module
- GroupId --->com.slife
- ArtifactId---> slife-子產品名稱 如 slife-activiti
- Version --> 版本号 如 1.0SNAPSHOT
- Module-Name--> slife-子產品名稱 如 slife-activiti
- 送出建立子產品
- 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中。實作了功能子產品的可插拔式部署。