com.ruoyi
├── common // 工具類
│ └── annotation // 自定義注解
│ └── config // 全局配置
│ └── constant // 通用常量
│ └── core // 核心控制
│ └── enums // 通用枚舉
│ └── exception // 通用異常
│ └── json // JSON數(shù)據(jù)處理
│ └── utils // 通用類處理
│ └── xss // XSS過濾處理
├── framework // 框架核心
│ └── aspectj // 注解實(shí)現(xiàn)
│ └── config // 系統(tǒng)配置
│ └── datasource // 數(shù)據(jù)權(quán)限
│ └── manager // 異步處理
│ └── shiro // 權(quán)限控制
│ └── util // 通用工具
│ └── web // 前端控制
├── ruoyi-generator // 代碼生成(可移除)
├── ruoyi-quartz // 定時(shí)任務(wù)(可移除)
├── ruoyi-system // 系統(tǒng)代碼
├── ruoyi-admin // 后臺服務(wù)
├── ruoyi-xxxxxx // 其他模塊
通用配置 application.yml
## 項(xiàng)目相關(guān)配置
ruoyi:
# 名稱
name: RuoYi
# 版本
version: 3.2.0
# 版權(quán)年份
copyrightYear: 2019
# 文件上傳
profile: D:/profile/
# 獲取ip地址開關(guān)
addressEnabled: true
## 開發(fā)環(huán)境配置
server:
# 服務(wù)端口
port: 80
servlet:
# 項(xiàng)目contextPath
context-path: /
tomcat:
# tomcat的URI編碼
uri-encoding: UTF-8
# tomcat最大線程數(shù),默認(rèn)為200
max-threads: 800
# Tomcat啟動初始化的線程數(shù),默認(rèn)值25
min-spare-threads: 30
## 日志配置
logging:
level:
com.ruoyi: debug
org.springframework: WARN
org.spring.springboot.dao: debug
## 用戶配置
user:
password:
# 密碼錯(cuò)誤{maxRetryCount}次鎖定10分鐘
maxRetryCount: 5
## Spring配置
spring:
# 模板引擎
thymeleaf:
mode: HTML
encoding: utf-8
# 禁用緩存
cache: false
# 資源信息
messages:
# 國際化資源文件路徑
basename: i18n/messages
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
profiles:
active: druid
# 文件上傳
servlet:
multipart:
max-file-size: 30MB
max-request-size: 30MB
# 服務(wù)模塊
devtools:
restart:
# 熱部署開關(guān)
enabled: true
## MyBatis
mybatis:
# 搜索指定包別名
typeAliasesPackage: com.ruoyi
# 配置mapper的掃描,找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 加載全局的配置文件
configLocation: classpath:mapper/mybatis-config.xml
## PageHelper分頁插件
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
## Shiro
shiro:
user:
# 登錄地址
loginUrl: /login
# 權(quán)限認(rèn)證失敗地址
unauthorizedUrl: /unauth
# 首頁地址
indexUrl: /index
# 驗(yàn)證碼開關(guān)
captchaEnabled: true
# 驗(yàn)證碼類型 math 數(shù)組計(jì)算 char 字符
captchaType: math
cookie:
# 設(shè)置Cookie的域名 默認(rèn)空,即當(dāng)前訪問的域名
domain:
# 設(shè)置cookie的有效訪問路徑
path: /
# 設(shè)置HttpOnly屬性
httpOnly: true
# 設(shè)置Cookie的過期時(shí)間,天為單位
maxAge: 30
session:
# Session超時(shí)時(shí)間(默認(rèn)30分鐘)
expireTime: 30
# 同步session到數(shù)據(jù)庫的周期(默認(rèn)1分鐘)
dbSyncPeriod: 1
# 相隔多久檢查一次session的有效性,默認(rèn)就是10分鐘
validationInterval: 10
## 防止XSS攻擊
xss:
# 過濾開關(guān)
enabled: true
# 排除鏈接(多個(gè)用逗號分隔)
excludes: /system/notice/*
# 匹配鏈接
urlPatterns: /system/*,/monitor/*,/tool/*
數(shù)據(jù)源配置 application-druid.yml
## 數(shù)據(jù)源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主庫數(shù)據(jù)源
master:
url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: password
# 從庫數(shù)據(jù)源
slave:
# 從數(shù)據(jù)源開關(guān)/默認(rèn)關(guān)閉
enabled: false
url:
username:
password:
# 初始連接數(shù)
initialSize: 5
# 最小連接池?cái)?shù)量
minIdle: 10
# 最大連接池?cái)?shù)量
maxActive: 20
# 配置獲取連接等待超時(shí)的時(shí)間
maxWait: 60000
# 配置間隔多久才進(jìn)行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一個(gè)連接在池中最大生存的時(shí)間,單位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置檢測連接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 設(shè)置白名單,不填則允許所有訪問
allow:
url-pattern: /monitor/druid/*
filter:
stat:
enabled: true
# 慢SQL記錄
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
代碼生成配置 generator.yml
## 代碼生成
gen:
# 作者
author: ruoyi
# 默認(rèn)生成包路徑 system 需改成自己的模塊名稱 如 system monitor tool
packageName: com.ruoyi.system
# 自動去除表前綴,默認(rèn)是true
autoRemovePre: true
# 表前綴(類名不會包含表前綴)
tablePrefix: sys_
1、介紹
Spring Boot是一款開箱即用框架,提供各種默認(rèn)配置來簡化項(xiàng)目配置。讓我們的Spring應(yīng)用變的更輕量化、更快的入門。
在主程序執(zhí)行main函數(shù)就可以運(yùn)行。你也可以打包你的應(yīng)用為jar并通過使用java -jar來運(yùn)行你的Web應(yīng)用。它遵循"約定優(yōu)先于配置"的原則,
使用SpringBoot只需很少的配置,大部分的時(shí)候直接使用默認(rèn)的配置即可。可以與Spring Cloud的微服務(wù)無縫結(jié)合。
Spring Boot2.0 環(huán)境要求必須是jdk8或以上版本,Tomcat8或以上版本
2、優(yōu)點(diǎn)
1、介紹
Apache Shiro是Java的一個(gè)安全框架。Shiro可以幫助我們完成:認(rèn)證、授權(quán)、加密、會話管理、與Web集成、緩存等。其不僅可以用在
JavaSE環(huán)境,也可以用在 JavaEE 環(huán)境。
2、優(yōu)點(diǎn)
1、介紹
Thymeleaf是一個(gè)用于Web和獨(dú)立Java環(huán)境的模板引擎,能夠處理HTML、XML、JavaScript、CSS甚至純文本。能輕易的與Spring MVC等Web框架進(jìn)行集成作為Web應(yīng)用的模板引擎。
與其它模板引擎(比如FreeMaker)相比,Thymeleaf最大的特點(diǎn)是能夠直接在瀏覽器中打開并正確顯示模板頁面,而不需要啟動整個(gè)Web應(yīng)用(更加方便前后端分離,比如方便類似VUE前端設(shè)計(jì)頁面),拋棄JSP吧。
Thymeleaf 3.0是一個(gè)完全徹底重構(gòu)的模板引擎,極大的減少內(nèi)存占用和提升性能和并發(fā)性,避免v2.1版因大量的輸出標(biāo)記的集合產(chǎn)生的資源占用。
Thymeleaf 3.0放棄了大多數(shù)面向DOM的處理機(jī)制,變成了一個(gè)基于事件的模板處理器,它通過處理模板標(biāo)記或文本并立即生成其輸出,甚至在新事件之前響應(yīng)模板解析器/緩存事件。Thymeleaf是Spring Boot官方的推薦使用模板。
2、優(yōu)點(diǎn)
更多建議: