0
我正在努力解决以下问题:SpringBoot得到@Configuration的环境变量
在我的springboot项目中,我想自己初始化一个数据源。在该方法中,我想使用从YML文件中读取的一些环境变量。
@Configuration
public class DataSourceConfig {
@Bean
public JdbcDataSource createMainDataSource() {
// init datasource and read some environment variables
}
}
Application.yml:
spring:
datasource:
url: jdbc:mysql://localhost:3306/XXX
driverClassName: com.mysql.jdbc.Driver
然后我定义的另一个类@Configuration在那里我得到的环境变量。
@Configuration
@ConfigurationProperties(prefix="spring.datasource")
public class PropertiesConfig {
private String url;
private String driverClassName;
}
但现在我有PropertiesConfig导致我无法使用环境变量的问题,前级DataSourceConfig被初始化的问题。
有人能帮我吗?
为什么?此外,这些属性已经绑定到一个对象,所以为什么再次绑定到另一个对象? –
他们绑定了哪些对象?那么我怎样才能访问它们呢? – Patrick
'DataSourceProperties' ...只是auatowire它。但你为什么需要它?有更简单的方法来构建你自己的数据源(如果你真的需要的话)。但仍然为什么你需要构建自己的? –