@Configuration
@PropertySource(value = "classpath:jdbc.properties", encoding = "UTF-8")
@ConfigurationProperties(prefix = "jdbc")
public class DataSourceConfig {
private String url;
private String driverClassName;
private String username;
private String password;
// 省略 getter setter
@Bean
public DataSource dataSource() {
DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName(driverClassName);
ds.setUrl(url);
ds.setUsername(username);
ds.setPassword(password);
return ds;
}
}
尝试直接使用注入 Environment 取值,还是 null;
直接写在全局的 application.properties(yml) ,然后取,也还是 null
目前通过在方法上使用 @ConfigurationProperties(prefix="mysql") 直接将自定义的 properties 属性设置到返回的对象中解决。
测试这样使用是可以正确注入的。
即文件名和路径都是正确的。