spring boot2.0多数据源配置 jdbcUrl is required with driverClassName.

问题描述

springboot2.0版本终于在三月与大家见面本次升级可谓是一次重大升级,鉴于springboot2.0对众多插件进行升级并支持spring5于是公司也进行了一次版本升级升级中发现多数据源配置会提示

jdbcUrl is required with driverClassName.

于是就开始了排错之旅

所使用的技术栈

spring boot 2.0.2
jdk1.8
mysql5.1
spring-data-jpa

解决方案

先贴出解决方案

http://www.baeldung.com/spring-data-jpa-multiple-databases

这是我所参考的地址
我做了如下配置

    @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大神!并为之倾尽全力,为心中所爱之人更美好的生活

猜你喜欢

转载自blog.csdn.net/charles_s/article/details/80512248