Ruoyi Springboot3版本改造
Ruoyi Springboot3版本改造
项目初始化
1.项目地址
https://gitee.com/y_project/RuoYi-Vue/tree/springboot3/
2.拉取代码到本地
1 | git clone -b springboot3 https://gitee.com/y_project/RuoYi-Vue.git |
3.idea 打开项目
- project structre -> project settings -> project -> SDK | language level 配置17
- project structre -> platform settings -> SDKs -> 17
- Settings -> Build Tools -> Maven 配置本地
4.数据库初始化
mysql 新建 数据库
项目路径/sql/等下数据库文件 导入数据库
修改数据库配置
1
2
3
4
5
6
7
8
9
10
11
12
13spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://1.XX.X.XX:3306/compliance_ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true
username: root
password: 'XX'
# 注意
# useSSL=false:禁用 SSL 加密连接,开发环境或内网安全环境中可以禁用以提高性能
# rewriteBatchedStatements=true ,用于优化批量操作(Batch Operations)的性能
5.后端启动
- Maven 下载依赖
- RuoYiApplication 运行启动
6.前端启动
- ruoyi-ui 目录下,执行 npm install ,下载依赖
- 执行 npm run dev 启动前端
架构改造
模块修改
ruoyi -> single
pom 修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58<groupId>cn.zzsn</groupId>
<artifactId>single</artifactId>
<version>1.0.0</version>
<name>single</name>
<description>基于springboot3 单一架构 </description>
<properties>
<single.version>1.0.0</single.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- 定时任务-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>quartz</artifactId>
<version>${single.version}</version>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>generator</artifactId>
<version>${single.version}</version>
</dependency>
<!-- 核心模块-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>framework</artifactId>
<version>${single.version}</version>
</dependency>
<!-- 系统模块-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>system</artifactId>
<version>${single.version}</version>
</dependency>
<!-- 通用工具-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>common</artifactId>
<version>${single.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<modules>
<module>admin</module>
<module>framework</module>
<module>system</module>
<module>quartz</module>
<module>generator</module>
<module>common</module>
</modules>ruoyi-common -> common
包名修改为:cn.zzsn.common
pom修改
1
2
3
4
5
6
7<parent>
<groupId>cn.zzsn</groupId>
<artifactId>single</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>common</artifactId>
ruoyi-framework -> framework
包名修改为:cn.zzsn.framework
pom修改
1
2
3
4
5
6
7
8
9
10
11
12
13<parent>
<groupId>cn.zzsn</groupId>
<artifactId>single</artifactId>
<version>1.0.0</version>
</parent>
<dependencies>
<!-- 系统模块-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>system</artifactId>
</dependency>
</dependencies>
ruoyi-system -> system
包名修改为:cn.zzsn.system
pom修改
1
2
3
4
5
6
7
8
9
10
11
12
13<parent>
<groupId>cn.zzsn</groupId>
<artifactId>single</artifactId>
<version>1.0.0</version>
</parent>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>common</artifactId>
</dependency>
</dependencies>
ruoyi-quartz ->quartz
包名修改为:cn.zzsn.quartz
pom修改
1
2
3
4
5
6
7
8
9
10
11
12
13<parent>
<groupId>cn.zzsn</groupId>
<artifactId>single</artifactId>
<version>1.0.0</version>
</parent>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>common</artifactId>
</dependency>
</dependencies>
ruoyi-generator -> generator
包名修改为:cn.zzsn.generator
pom修改
1
2
3
4
5
6
7
8
9
10
11
12
13<parent>
<groupId>cn.zzsn</groupId>
<artifactId>single</artifactId>
<version>1.0.0</version>
</parent>
<dependencies>
<!-- 通用工具-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>common</artifactId>
</dependency>
</dependencies>
ruoyi-adim -> admin
包名修改为:cn.zzsn.admin
pom修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25<parent>
<groupId>cn.zzsn</groupId>
<artifactId>single</artifactId>
<version>1.0.0</version>
</parent>
<dependencies>
<!-- 核心模块-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>framework</artifactId>
</dependency>
<!-- 定时任务-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>quartz</artifactId>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>cn.zzsn</groupId>
<artifactId>generator</artifactId>
</dependency>
</dependencies>
application.yml 修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17# MyBatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: cn.zzsn.**.domain
# 日志配置
logging:
level:
cn.zzsn: debug
# Springdoc配置
springdoc:
group-configs:
- group: 'default'
display-name: '测试模块'
paths-to-match: '/**'
packages-to-scan: com.zzsn.web.controller.toolgenerator.yml
1
2
3
4
5gen:
# 作者
author: kongliufeng
# 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
packageName: com.zzsn.systemlogback.xml
1
2<!-- 系统模块日志级别控制 -->
<logger name="cn.zzsn" level="info" />ApplicationConfig 修改
1
CaptchaConfig 修改
1
2// 验证码文本生成器
properties.setProperty(KAPTCHA_TEXTPRODUCER_IMPL, "cn.zzsn.framework.config.KaptchaTextCreator");Constants修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15/**
* 自动识别json对象白名单配置(仅允许解析的包名,范围越小越安全)
*/
public static final String[] JSON_WHITELIST_STR = { "org.springframework", "cn.zzsn" };
/**
* 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加)
*/
public static final String[] JOB_WHITELIST_STR = { "cn.zzsn.quartz.task" };
/**
* 定时任务违规的字符
*/
public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml",
"org.springframework", "org.apache", "cn.zzsn.common.utils.file", "cn.zzsn.common.config", "cn.zzsn.generator" };
mybatis-plus 适配
参考:https://github.com/baomidou/mybatis-plus 开源地址
pom 文件修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30<properties>
<mybatis-plus.version>3.5.12</mybatis-plus.version>
<mybatis.version>3.5.19</mybatis.version>
</properties>
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<!-- mybatis-plus-spring-boot3 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- mybatis-plus jsqlparser -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- mybatis :注意mybatis-plus-spring-boot3-V3.5.12 版本依赖为mybatis-V3.5.19,架构引用的pagehelper-spring-boot-starter-V2.1.0 依赖低版本 V3.5.14,故这里统一管理高版本-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
</dependencies>
</dependencyManagement>common 模块 pom 修改
1
2
3
4
5
6
7
8
9
10
11<dependencies>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser</artifactId>
</dependency>
</dependencies>application.yml 文件修改
1
2
3
4
5# mybatis 改成 mybatis-plus
mybatis-plus:
typeAliasesPackage: cn.zzsn.**.domain
mapperLocations: classpath*:mapper/**/*Mapper.xml
configLocation: classpath:mybatis/mybatis-config.xml
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 KLF`S BLOG!
评论