分模块化开发Spring Boot 博客平台
- Spring Boot
- Mybatis
- Redis
- Kafka
- ELK
- Swagger
Spring-Blog
- Spring-Blog-api 对外API接口服务
- Spring-Blog-business POJO类处理
- Spring-Blog-common 工具类
基于Gradle 整合SpringBoot,Mybatis,Log
Spring-Blog
- Spring-Blog-api 对外API接口服务(后续废弃)
- Spring-Blog-business POJO类处理
- Spring-Blog-common 工具类
- Spring-Blog-webFlux 基于WebFlux 开发的Api 接口服务
拓展技术: Webflux 是Spring 5 引入的 Reactive Web 服务,兼容Spring Mvc 服务
resource: charles_blog.sql
- DataSource
在 Config 目录下配置DataSource 相关配置,主要做了数据库连接池配置
~\Spring-Blog\Spring-Blog-api\src\main\java\com\charles\api\config\dataSource\DruidDataSourceConfig.java
配置多数据源主要在以下类进行处理
~\Spring-Blog\Spring-Blog-api\src\main\java\com\charles\api\config\dataSource\DataSourceConfig.java
- Thymeleaf
接入模板引擎,由于WebFlux 不支持(Thymeleaf 基于javax.servlet),因此将Thymeleaf 放在Api目录下进行开发。
- Swagger
接入Swagger Api 文档生成器,配置文件存放地址:
~\Spring-Blog\Spring-Blog-api\src\main\java\com\charles\api\config\swagger\SwaggerConfig.java
- 配置文件添加读写分离函数命名头,例如:spring.datasource.read = get,select,count,list,query
- DynamicDataSource 初始化时,将配置文件初始化到 METHOD_TYPE_MAP 中。
- ~\config\dataSource\DataSourceAspect.java 配置切面
execution(* com.charles.business.mapper.*.*(..))
在进入切面前进行校验方法是查询还是修改数据库,通过 DatabaseContextHolder 设置数据源类型。