**项目说明**
- 这是根据renren框架重新修改出来的框架
- 采用SpringBoot、MyBatis、spring security框架
- 提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务
- 代码生成器是用的Velocity模版引擎,如果需要可以在ym-generator模块中进行vm模板的修改和一些包名等基础修改
**新增业务模块需要注意**
- 新增业务模块时,业务模块需要依赖ym-admin,并且ym-gateway模块maven需要依赖新建模块
- 自动生成的controller接口都带鉴权注解,如果开发阶段可以先注释掉,后面开发完成之后再把鉴权添加到数据库
**技术选型:**
- 核心框架:Spring Boot 2.7
- 安全框架:Spring Security
- 持久层框架:MyBatis 3.5
- 定时器:Quartz 2.3
- 数据库连接池:HikariCP
- 日志管理:log4j2
- 页面交互:Vue2.x
**软件需求**
- JDK1.8
- Maven3.0+
- MySQL8.0
- redis6.0+
## 多数据源配置指南
1. 在你需要用到多数据源的项目/模块中引入多数据源jar包的maven依赖
```xml
com.cnbm
ym-dynamic-datasource
1.0-SNAPSHOT
```
2. 配置文件中,配置多数据源,注意必须以`dynamic.datasource`作为前缀,如下(slave1,slave2可以自己随意命名,数据源不限于2个):
```yml
dynamic:
datasource:
slave1:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
username: xxx
password: xxx
slave2:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/myysql?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
username: xxx
password: xxx
```
3. 在service实现中,需要指定数据源的方法上面添加注解,比如,在login这个方法调用时,指定用`slave1`这个数据源
```java
@DataSource("slave1")
public Result login(HttpServletRequest request, LoginParam loginParam) {
......
}
```
4. 验证
可以在日志中看到类似输出:`set datasource is slave1`