问题描述
springboot2.0版本终于在三月与大家见面本次升级可谓是一次重大升级,鉴于springboot2.0对众多插件进行升级并支持spring5于是公司也进行了一次版本升级升级中发现多数据源配置会提示
jdbcUrl is required with driverClassName.
于是就开始了排错之旅
所使用的技术栈
spring boot 2.0.2
jdk1.8
mysql5.1
spring-data-jpa
解决方案
先贴出解决方案
这是我所参考的地址
我做了如下配置
@Autowired
private Environment env; //加载配置文件
@Bean
@Primary //主数据库
public DataSource kidstoolsPassportDataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(env.getProperty("驱动的名字"));
dataSource.setUrl(env.getProperty("数据库地址"));
dataSource.setUsername(env.getProperty("数据库账号"));
dataSource.setPassword(env.getProperty("数据库密码"));
return dataSource;
}
@Bean(name = "Bean的名字")
public JdbcTemplate kidstoolsPassportJdbcTemplate(DataSource kidstoolsPassportDataSource) {
return new JdbcTemplate(kidstoolsPassportDataSource);
}
这里提一句最好链接数据库使用jdbc.url不要使用spring.datasource.url这两个区别一个是spring默认的方式链接数据库一个是通过jdbc的方式链接数据库 本人字面理解欢迎指出错误
还有数据库配置的话就可以复制上面修改对应链接即可
写在最后
不知道为什么
Spring Boot 2.0 多数据源编程
这个大神的方法在我这里没有用很苦恼
励志成为一个Java大神!并为之倾尽全力,为心中所爱之人更美好的生活