自定义方式整合druid数据源_整合第三方场景
整合Druid数据源有两种形式:一种是自己手写自定义的各项配置,一种是使用对应的starter场景
1、自定义方式整合
首先引入druid依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid-version}</version>
</dependency>
然后进入druid官方地址,https://github.com/alibaba/druid.找到中文文档看怎么使用
然后编写Druid的配置类
在SpringBoot中已经在配置文件中写了连接的url、username等信息,而druid同时需要,就能把组件跟配置项绑定,省去自己写。
@Configuration
public class MyDataSourceConfiguration {
@ConfigurationProperties("spring.datasource")
@Bean
public DataSource druidDataSource() throws SQLException {
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setFilters("stat");
druidDataSource.setFilters("wall");
return druidDataSource;
}
}
然后可以通过测试类看看是不是把数据源替换成功了。因为在添加Hikari组件的方法上面有 @ConditionalOnMissingBean(DataSource.class)
,如果添加了别的类型的数据源就肯定被替换。
测试类中
@Autowired
JdbcTemplate jdbcTemplate;
@Autowired
DataSource dataSource;
@Test
public void testDataSource(){
log.info("数据源类型是:{}",dataSource.getClass());
List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from t_cat