第 3-6 课:Spring Data JPA 多数据源的使⽤
项⽬中使⽤多个数据源在以往⼯作中⽐较常⻅,微服务架构中不建议⼀个项⽬使⽤多个数据源。在微服务架 构下,⼀个微服务拥有⾃⼰独⽴的⼀个数据库,如果此微服务要使⽤其他数据库的数据,需要调⽤对应库的 微服务接⼝来调⽤,⽽不是在⼀个项⽬中连接使⽤多个数据库,这样微服务更独⽴、更容易⽔平扩展。 虽然在微服务架构下,不提倡⼀个项⽬拥有多个数据源,但在 Spring Boot 体系中,项⽬实现多数据源调⽤ 却是⼀件很容易的事情,本节课将介绍 Spring Data JPA 多数据源的使⽤。 Spring Data JPA 使⽤多数据源的整体思路是,配置不同的数据源,在启动时分别加载多个数据源配置,并且 注⼊到不同的 repository 中。这样不同的 repository 包就有不同的数据源,使⽤时注⼊对应包下的 repository ,就会使⽤对应数据源的操作。 对照前两课的示例项⽬,本课内容将会对项⽬结构有所调整,如下: 其中: confifig 启动时加载、配置多数据源; GitChat model 存放数据操作的实体类; repository ⽬录下有两个包路径 test1 和 test2 ,分别代表两个不同数据源下的仓库,这两个包下的 repository 可以相同也可以不同。 下⾯演示⼀下项⽬。 多数据源的⽀持 配置 Spring Data JPA 对多数据源的使⽤,⼀般分为以下⼏步