我的应用程序.properties
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.username=${env.H2_USER}
spring.datasource.password=${env.H2_PASS}
spring.token-datasource.url=jdbc:mysql://${env.MYSQL_HOST}/${env.MYSQL_DB}
spring.token-datasource.username=${env.MYSQL_USER}
spring.token-datasource.password=${env.MYSQL_PASS}
my configuration.java代码段
@Configuration
public class DataSourceConfiguration {
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource regularDataSource() {
DataSource dataSource = DataSourceBuilder.create().build();
return dataSource;
}
@Bean
@ConfigurationProperties(prefix = "spring.token-datasource")
public DataSource tokenDataSource() {
DataSource dataSource = DataSourceBuilder.create().build();
return dataSource;
}
}
但是,如果我在每个 return dataSource;
,我看到datasource对象没有填充相应的属性值,例如jdbcurl null
.
有什么帮助吗?
谢谢!
1条答案
按热度按时间q3qa4bjr1#
跟着https://docs.spring.io/spring-boot/docs/2.4.2/reference/html/howto.html#howto-两个数据源并精心编制了以下代码:
有趣的是,原来的代码片段不起作用,而它仍然是许多java教程和stackoverflow文章推荐的方法。例如,
https://www.baeldung.com/spring-data-jpa-multiple-databases
springboot配置并使用两个数据源