Spring系列之多个数据源配置

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

然后,在Application排除自动装配类

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class,DataSourceTransactionManagerAutoConfiguration.class,JdbcTemplateAutoConfiguration.class})

@Slf4j

public class MultiDataSourceDemoApplication {

}

上面代码中,我们排除了

DataSourceAutoConfiguration、DataSourceTransactionManagerAutoConfiguration、JdbcTemplateAutoConfiguration三个类,然后就可以自己定义DataSource了。

配置数据源

Copy Line-numbers language-java //第一个数据源

@Bean

@ConfigurationProperties(“first.datasource”)

public DataSource firstDataSource() {

return DataSourceBuilder.create().build();

}

@Bean

public JdbcTemplate firstJdbcTemplate() {

return new JdbcTemplate(firstDataSource());

}

@Bean

@Resource

public PlatformTransactionManager firstTxManager(DataSource firstDataSource) {

return new DataSourceTransactionManager(firstDataSource);

}

//第二个数据源

@Bean

@ConfigurationProperties(“second.datasource”)

public DataSource secondDataSource() {

return DataSourceBuilder.create().build();

}

@Bean

public JdbcTemplate secondJdbcTemplate() {

return new JdbcTemplate(secondDataSource());

}

@Bean

@Resource

public PlatformTransactionManager secondTxManager(DataSource secondDataSource) {

return new DataSourceTransactionManager(secondDataSource);

}

application.properties的配置项信息

Copy Line-numbers language-xmlmanagement.endpoints.web.exposure.include=*

spring.output.ansi.enabled=ALWAYS

first.datasource.jdbc-url=jdbc:mysql://localhost:3306/first

first.datasource.username=root

first.datasource.password=xxx

second.datasource.jdbc-url=jdbc:mysql://localhost:3306/second

second.datasource.username=root

second.datasource.password=xxx

看一下表结构和数据

Spring系列之多个数据源配置

Spring系列之多个数据源配置

运行测试代码:

Copy Line-numbers language-java @Test

public void testMutilDataSource(){

firstJdbcTemplate.queryForList(“SELECT * FROM test1”)

.forEach(row -> log.info(“记录:”+row.toString()));

secondJdbcTemplate.queryForList(“SELECT * FROM test2”)

.forEach(row -> log.info(“记录:”+row.toString()));

}

我们看一下运行效果:

总结

我个人认为,如果你想靠着背面试题来获得心仪的offer,用癞蛤蟆想吃天鹅肉形容完全不过分。想必大家能感受到面试越来越难,想找到心仪的工作也是越来越难,高薪工作羡慕不来,却又对自己目前的薪资不太满意,工作几年甚至连一个应届生的薪资都比不上,终究是错付了,错付了自己没有去提升技术。

这些面试题分享给大家的目的,其实是希望大家通过大厂面试题分析自己的技术栈,给自己梳理一个更加明确的学习方向,当你准备好去面试大厂,你心里有底,大概知道面试官会问多广,多深,避免面试的时候一问三不知。

大家可以把Java基础,JVM,并发编程,MySQL,Redis,Spring,Spring cloud等等做一个知识总结以及延伸,再去进行操作,不然光记是学不会的,这里我也提供一些脑图分享给大家:

希望你看完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在明年的金三银四拿到心仪的offer,加油,打工人!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
转存中…(img-CSHHkjsb-1714677679164)]

希望你看完这篇文章后,不要犹豫,抓紧学习,复习知识,准备在明年的金三银四拿到心仪的offer,加油,打工人!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值