多数据源配置

多数据源配置在配置文件 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。