java注解方式配置多数据源以及踩过的坑
具体操作请看:https://blog.csdn.net/xiaosheng_papa/article/details/80218006
遇到的坑:在读取第二个数据源的时候,配置文件中的数据读取不到,原因是底层代码有个取username的操作,会把本机器的ip当做连接对象,解决方法两种。
第一种xml文件方式如下https://blog.csdn.net/qq_31678809/article/details/77479634
第二种注解方式:
参考第一个链接修改一下如下:
package com.baidu.yunzhixueyuan.config;
import java.util.HashMap;
import java.util.Map;
import javax.sql.DataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
/**
* @Date: 2019-03-13 14:51
* @Author: v_gaobingbing
*/
@Configuration
public class DataSourceConfig {
/**
* db1数据库配置
*/
@Bean("default")
@ConfigurationProperties(prefix = "spring.datasource.default")
public DataSource defaultSource() {
return DruidDataSourceBuilder.create().build();
}
/**
* db2数据库配置
*/
@Bean("activity")
@ConfigurationProperties(prefix = "spring.datasource.activity")
public DataSource otherSource() {
DruidDataSourceBuilder druidDataSourceBuilder = DruidDataSourceBuilder.create();
DruidDataSource build = druidDataSourceBuilder.build();
build.setUsername("xxx");
build.setPassword("xxx");
build.setUrl("xxx");
return build;
}
/**
* 动态数据库配置
*/
@Primary
@Bean(name = "dynamicDataSource")
public DataSource dynamicDataSource() {
DynamicDataSource dynamicDataSource = new DynamicDataSource();
// 默认数据源
dynamicDataSource.setDefaultTargetDataSource(defaultSource());
// 配置多数据源
Map<Object, Object> dsMap = new HashMap(5);
dsMap.put("default", defaultSource());
dsMap.put("activity", otherSource());
dynamicDataSource.setTargetDataSources(dsMap);
return dynamicDataSource;
}
// /**
// * 配置@Transactional注解事物
// * @return
// */
// @Bean
// public PlatformTransactionManager transactionManager() {
// return new DataSourceTransactionManager(dynamicDataSource());
// }
}
在这里手动配置username passport url 一这三个属性就可以了
https://blog.csdn.net/weixin_42714698/article/details/91428818
本文来自互联网用户投稿,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。该文观点仅代表作者本人,不代表本站立场。
如若内容造成侵权/违法违规/事实不符,请联系站长邮箱:luowen@yiyuen.com 进行投诉反馈,一经查实,立即删除!
如若转载,请注明出处:http://kaifa.yiyen.com/kaifa/article/e6e98bed56b14a54bf1fb9b4c2fc551b
评论