Spring学习--SpringBoot应用如何配置多数据源

2025-04-08 00:47:42

1、通过 Spring Initializr 创建基于SpringBoot的web应用骨架程序,添加如下依赖:(如图示)1. Spring Web Starter2. JDBC API3. MySQL Driver4. H2 Database5. Lombok6. Spring Boot Actuator应用包含两个数据源,一个基于 MySQL 数据库,一个基于 H2 这个嵌入式内存形数据库。

Spring学习--SpringBoot应用如何配置多数据源
Spring学习--SpringBoot应用如何配置多数据源

2、将生成的应用骨架导入到Eclipse中,因为需要配置多数据源,所以首先进行如下涠础险渥操作:1. 在 application.properties 中配置多个数据源的数据库连接信息(图1示)2. 在启动类中通过注解将SpringBoot默认的数据源相关的自动配置类删除(图2示)启动类目前添加的其他配置有 @Slf4j 注解(lombok提供,方便使用log对象)和 CommandLineRunner 接口(实现其run方法,以方便后面的测试)

Spring学习--SpringBoot应用如何配置多数据源
Spring学习--SpringBoot应用如何配置多数据源

3、通过代码实现基于MySQL数据库的第一个数据源 (相关代码请参考图示)

Spring学习--SpringBoot应用如何配置多数据源

4、通过代码实现基于H2数据库的第二个数据源 (相关代码请参考图示)

Spring学习--SpringBoot应用如何配置多数据源

5、编写测试代码(图示),代码基于两个数据源对象分别获取一个数据库连接,注意,声明的两个 DataSource 对象,需要使用 @Lazy 进行延迟注入,因为在声明 DataSource 对象处,Spring bean factory 中还没有创建相应的 bean 实例,如果此时就进行注入,会报错。

Spring学习--SpringBoot应用如何配置多数据源

6、运行测试,从控制台打印的log可以看出,两个数据源的连接均获取成功(图示)。

Spring学习--SpringBoot应用如何配置多数据源
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢