項(xiàng)目介紹

2019-03-30 14:34 更新

文件結(jié)構(gòu)

  1. com.ruoyi
  2. ├── common // 工具類(lèi)
  3. └── annotation // 自定義注解
  4. └── config // 全局配置
  5. └── constant // 通用常量
  6. └── core // 核心控制
  7. └── enums // 通用枚舉
  8. └── exception // 通用異常
  9. └── json // JSON數(shù)據(jù)處理
  10. └── utils // 通用類(lèi)處理
  11. └── xss // XSS過(guò)濾處理
  12. ├── framework // 框架核心
  13. └── aspectj // 注解實(shí)現(xiàn)
  14. └── config // 系統(tǒng)配置
  15. └── datasource // 數(shù)據(jù)權(quán)限
  16. └── manager // 異步處理
  17. └── shiro // 權(quán)限控制
  18. └── util // 通用工具
  19. └── web // 前端控制
  20. ├── ruoyi-generator // 代碼生成(可移除)
  21. ├── ruoyi-quartz // 定時(shí)任務(wù)(可移除)
  22. ├── ruoyi-system // 系統(tǒng)代碼
  23. ├── ruoyi-admin // 后臺(tái)服務(wù)
  24. ├── ruoyi-xxxxxx // 其他模塊

配置文件

通用配置 application.yml

  1. ## 項(xiàng)目相關(guān)配置
  2. ruoyi:
  3. # 名稱(chēng)
  4. name: RuoYi
  5. # 版本
  6. version: 3.2.0
  7. # 版權(quán)年份
  8. copyrightYear: 2019
  9. # 文件上傳
  10. profile: D:/profile/
  11. # 獲取ip地址開(kāi)關(guān)
  12. addressEnabled: true
  13. ## 開(kāi)發(fā)環(huán)境配置
  14. server:
  15. # 服務(wù)端口
  16. port: 80
  17. servlet:
  18. # 項(xiàng)目contextPath
  19. context-path: /
  20. tomcat:
  21. # tomcat的URI編碼
  22. uri-encoding: UTF-8
  23. # tomcat最大線(xiàn)程數(shù),默認(rèn)為200
  24. max-threads: 800
  25. # Tomcat啟動(dòng)初始化的線(xiàn)程數(shù),默認(rèn)值25
  26. min-spare-threads: 30
  27. ## 日志配置
  28. logging:
  29. level:
  30. com.ruoyi: debug
  31. org.springframework: WARN
  32. org.spring.springboot.dao: debug
  33. ## 用戶(hù)配置
  34. user:
  35. password:
  36. # 密碼錯(cuò)誤{maxRetryCount}次鎖定10分鐘
  37. maxRetryCount: 5
  38. ## Spring配置
  39. spring:
  40. # 模板引擎
  41. thymeleaf:
  42. mode: HTML
  43. encoding: utf-8
  44. # 禁用緩存
  45. cache: false
  46. # 資源信息
  47. messages:
  48. # 國(guó)際化資源文件路徑
  49. basename: i18n/messages
  50. jackson:
  51. time-zone: GMT+8
  52. date-format: yyyy-MM-dd HH:mm:ss
  53. profiles:
  54. active: druid
  55. # 文件上傳
  56. servlet:
  57. multipart:
  58. max-file-size: 30MB
  59. max-request-size: 30MB
  60. # 服務(wù)模塊
  61. devtools:
  62. restart:
  63. # 熱部署開(kāi)關(guān)
  64. enabled: true
  65. ## MyBatis
  66. mybatis:
  67. # 搜索指定包別名
  68. typeAliasesPackage: com.ruoyi
  69. # 配置mapper的掃描,找到所有的mapper.xml映射文件
  70. mapperLocations: classpath*:mapper/**/*Mapper.xml
  71. # 加載全局的配置文件
  72. configLocation: classpath:mapper/mybatis-config.xml
  73. ## PageHelper分頁(yè)插件
  74. pagehelper:
  75. helperDialect: mysql
  76. reasonable: true
  77. supportMethodsArguments: true
  78. params: count=countSql
  79. ## Shiro
  80. shiro:
  81. user:
  82. # 登錄地址
  83. loginUrl: /login
  84. # 權(quán)限認(rèn)證失敗地址
  85. unauthorizedUrl: /unauth
  86. # 首頁(yè)地址
  87. indexUrl: /index
  88. # 驗(yàn)證碼開(kāi)關(guān)
  89. captchaEnabled: true
  90. # 驗(yàn)證碼類(lèi)型 math 數(shù)組計(jì)算 char 字符
  91. captchaType: math
  92. cookie:
  93. # 設(shè)置Cookie的域名 默認(rèn)空,即當(dāng)前訪(fǎng)問(wèn)的域名
  94. domain:
  95. # 設(shè)置cookie的有效訪(fǎng)問(wèn)路徑
  96. path: /
  97. # 設(shè)置HttpOnly屬性
  98. httpOnly: true
  99. # 設(shè)置Cookie的過(guò)期時(shí)間,天為單位
  100. maxAge: 30
  101. session:
  102. # Session超時(shí)時(shí)間(默認(rèn)30分鐘)
  103. expireTime: 30
  104. # 同步session到數(shù)據(jù)庫(kù)的周期(默認(rèn)1分鐘)
  105. dbSyncPeriod: 1
  106. # 相隔多久檢查一次session的有效性,默認(rèn)就是10分鐘
  107. validationInterval: 10
  108. ## 防止XSS攻擊
  109. xss:
  110. # 過(guò)濾開(kāi)關(guān)
  111. enabled: true
  112. # 排除鏈接(多個(gè)用逗號(hào)分隔)
  113. excludes: /system/notice/*
  114. # 匹配鏈接
  115. urlPatterns: /system/*,/monitor/*,/tool/*

數(shù)據(jù)源配置 application-druid.yml

  1. ## 數(shù)據(jù)源配置
  2. spring:
  3. datasource:
  4. type: com.alibaba.druid.pool.DruidDataSource
  5. driverClassName: com.mysql.cj.jdbc.Driver
  6. druid:
  7. # 主庫(kù)數(shù)據(jù)源
  8. master:
  9. url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
  10. username: root
  11. password: password
  12. # 從庫(kù)數(shù)據(jù)源
  13. slave:
  14. # 從數(shù)據(jù)源開(kāi)關(guān)/默認(rèn)關(guān)閉
  15. enabled: false
  16. url:
  17. username:
  18. password:
  19. # 初始連接數(shù)
  20. initialSize: 5
  21. # 最小連接池?cái)?shù)量
  22. minIdle: 10
  23. # 最大連接池?cái)?shù)量
  24. maxActive: 20
  25. # 配置獲取連接等待超時(shí)的時(shí)間
  26. maxWait: 60000
  27. # 配置間隔多久才進(jìn)行一次檢測(cè),檢測(cè)需要關(guān)閉的空閑連接,單位是毫秒
  28. timeBetweenEvictionRunsMillis: 60000
  29. # 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒
  30. minEvictableIdleTimeMillis: 300000
  31. # 配置一個(gè)連接在池中最大生存的時(shí)間,單位是毫秒
  32. maxEvictableIdleTimeMillis: 900000
  33. # 配置檢測(cè)連接是否有效
  34. validationQuery: SELECT 1 FROM DUAL
  35. testWhileIdle: true
  36. testOnBorrow: false
  37. testOnReturn: false
  38. webStatFilter:
  39. enabled: true
  40. statViewServlet:
  41. enabled: true
  42. # 設(shè)置白名單,不填則允許所有訪(fǎng)問(wèn)
  43. allow:
  44. url-pattern: /monitor/druid/*
  45. filter:
  46. stat:
  47. enabled: true
  48. # 慢SQL記錄
  49. log-slow-sql: true
  50. slow-sql-millis: 1000
  51. merge-sql: true
  52. wall:
  53. config:
  54. multi-statement-allow: true

代碼生成配置 generator.yml

  1. ## 代碼生成
  2. gen:
  3. # 作者
  4. author: ruoyi
  5. # 默認(rèn)生成包路徑 system 需改成自己的模塊名稱(chēng) 如 system monitor tool
  6. packageName: com.ruoyi.system
  7. # 自動(dòng)去除表前綴,默認(rèn)是true
  8. autoRemovePre: true
  9. # 表前綴(類(lèi)名不會(huì)包含表前綴)
  10. tablePrefix: sys_

核心技術(shù)

SpringBoot框架 {docsify-ignore}

1、介紹
Spring Boot是一款開(kāi)箱即用框架,提供各種默認(rèn)配置來(lái)簡(jiǎn)化項(xiàng)目配置。讓我們的Spring應(yīng)用變的更輕量化、更快的入門(mén)。 在主程序執(zhí)行main函數(shù)就可以運(yùn)行。你也可以打包你的應(yīng)用為jar并通過(guò)使用java -jar來(lái)運(yùn)行你的Web應(yīng)用。它遵循"約定優(yōu)先于配置"的原則, 使用SpringBoot只需很少的配置,大部分的時(shí)候直接使用默認(rèn)的配置即可??梢耘cSpring Cloud的微服務(wù)無(wú)縫結(jié)合。
Spring Boot2.0 環(huán)境要求必須是jdk8或以上版本,Tomcat8或以上版本

2、優(yōu)點(diǎn)

  • 使編碼變得簡(jiǎn)單: 推薦使用注解。
  • 使配置變得簡(jiǎn)單: 自動(dòng)配置、快速構(gòu)建項(xiàng)目、快速集成新技術(shù)能力 沒(méi)有冗余代碼生成和XML配置的要求
  • 使部署變得簡(jiǎn)單: 內(nèi)嵌Tomcat、Jetty、Undertow等web容器,無(wú)需以war包形式部署
  • 使監(jiān)控變得簡(jiǎn)單: 自帶項(xiàng)目監(jiān)控

Shiro安全控制 {docsify-ignore}

1、介紹
Apache Shiro是Java的一個(gè)安全框架。Shiro可以幫助我們完成:認(rèn)證、授權(quán)、加密、會(huì)話(huà)管理、與Web集成、緩存等。其不僅可以用在 JavaSE環(huán)境,也可以用在 JavaEE 環(huán)境。

2、優(yōu)點(diǎn)

  • 易于理解的 Java Security API
  • 簡(jiǎn)單的身份認(rèn)證,支持多種數(shù)據(jù)源
  • 對(duì)角色的簡(jiǎn)單的授權(quán),支持細(xì)粒度的授權(quán)
  • 不跟任何的框架或者容器捆綁,可以獨(dú)立運(yùn)行

Thymeleaf摸版 {docsify-ignore}

1、介紹
Thymeleaf是一個(gè)用于Web和獨(dú)立Java環(huán)境的模板引擎,能夠處理HTML、XML、JavaScript、CSS甚至純文本。能輕易的與Spring MVC等Web框架進(jìn)行集成作為Web應(yīng)用的模板引擎。 與其它模板引擎(比如FreeMaker)相比,Thymeleaf最大的特點(diǎn)是能夠直接在瀏覽器中打開(kāi)并正確顯示模板頁(yè)面,而不需要啟動(dòng)整個(gè)Web應(yīng)用(更加方便前后端分離,比如方便類(lèi)似VUE前端設(shè)計(jì)頁(yè)面),拋棄JSP吧。 Thymeleaf 3.0是一個(gè)完全徹底重構(gòu)的模板引擎,極大的減少內(nèi)存占用和提升性能和并發(fā)性,避免v2.1版因大量的輸出標(biāo)記的集合產(chǎn)生的資源占用。 Thymeleaf 3.0放棄了大多數(shù)面向DOM的處理機(jī)制,變成了一個(gè)基于事件的模板處理器,它通過(guò)處理模板標(biāo)記或文本并立即生成其輸出,甚至在新事件之前響應(yīng)模板解析器/緩存事件。Thymeleaf是Spring Boot官方的推薦使用模板。

2、優(yōu)點(diǎn)

  • 國(guó)際化支持非常簡(jiǎn)單
  • 語(yǔ)法簡(jiǎn)單,功能強(qiáng)大。內(nèi)置大量常用功能,使用非常方便
  • 可以很好的和Spring集成
  • 靜態(tài)html嵌入標(biāo)簽屬性,瀏覽器可以直接打開(kāi)模板文件,便于前后端聯(lián)調(diào)
  • Spring Boot 官方推薦,用戶(hù)群廣
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)