/learnSpringboot

2022年学习springboot的演示项目,集成了MySQL/Redis/Cache/MabitsPlus/Hibernate/Shiro/JWTOauth/SLF4j+log4j2等组件服务。

Primary LanguageJava

快速上手

技术选型

  1. 系统环境
  • JAVA EE 11
  • Apache Maven3
  • Mysql 5.7
  • Redis
  1. 主框架
  • Spring Boot Framework 2.6.7
  • Apache Shiro 1.9
  • JWT 3.19
  1. 持久层
  • Apache Mybatis 2.2.2
  • Mybatis Plus 3.5.1
  • Hibernate
  • RedisTemplate
  1. 日志层
  • Log4j2

功能代码

演示各种特性和包的使用,集成了Mysql/Redis/Cache/Lombok/Hibernate/MybatisPlus/Log4j2/Shiro/Jwt组件与服务。

可结合我的Notion学习笔记一起理解这套程序的运行技巧(非必需)。

  • 多端用户授权登录、权限判断
    • 使用Shiro+JWT实现oauth的加密注册,授权登录和角色权限验证
    • 主功能是access token进行身份认证,ShiroConfig.java禁用了session;若需要了解Shiro Session存放到Db中实现session持久化的做法见这份Config
  • 文章管理
    • 基于springboot+mybatis plus(CURD+乐观锁+全局元数据处理器+分页service) + hibernate(用于自动构建article数据表)实现
  • 留言管理
    • 基于springboot+mybatis实现
  • 多数据源

关于项目目录说明:

.
├── learn-admin      web程序,里面有控制器和VO
├── learn-common     通用设置、通用常量、通用方法、自定义注解、基操都在这里
├── learn-framework  框架设定(Shiro设定、MP设定、SpringBoot设定、异常捕获设定)
├── learn-system     业务核心

其他说明:

  • application.properties 有mysql和postgresql 驱动切换的代码,简化了日志输出内容
  • application-dev.properties和application-prod.properties 有不同环境下要启用的配置

打包发布

# 生产环境运行
java -jar learning-java-spring-boot-0.0.1-SNAPSHOT.jar -Dspring.profiles.active=prod