多数据源配置
多数据源配置在配置文件 application.yaml 中 macula.datasource.druid 项下,以集合形式列举,多数据源的原理是根据不同包,调用不同的数据源,配置中不同名称对应不同的 jpa Entity, Repository, Service 扫描路径 Package。
可根据自身业务配置多套数据源配置,Macula4 架构会自动注入数据源配置Bean,无需手动创建配置类 DataSource,JdbcTemplate 等配置信息
1.多数据源配置如下:
macula:
######## 数据源配置,可以多个 ###########
datasource:
druid:
## JDBC配置
- name: macula-base
url: ${macula.datasource.macula-base.url}
username: ${macula.datasource.macula-base.username}
password: ${macula.datasource.macula-base.password}
- name: macula-demo
url: ${macula.datasource.macula-demo.url}
username: ${macula.datasource.macula-demo.username}
password: ${macula.datasource.macula-demo.password}
DataSource,JdbcTemplate 注入具体实现代码可查阅DataSourceConfigurationRegistrar.class。
2.不同包使用不同数据源 application.yaml 中 macula.jpa.repositories 扫描路径如下:
macula:
jpa:
# 与数据源名称相对应,可以多个,每个项目都需要修改对应的包名
repositories:
- name: macula-base
entity-packages: org.macula.base
repository-packages: org.macula.base
service-package: org.macula.base
- name: macula-demo
entity-packages: org.macula.demo
repository-packages: org.macula.demo
service-package: org.macula.demo
引用数据源Bean信息,与扫描注册具体实现代码可查阅 MaculaJpaRepositoriesConfigurationRegistar.class。