我的application.properties
包含以下属性:
db.username = ...
db.password = ...
db.timeout = ...
rest.client.username = ...
rest.client.password = ...
rest.client.timeout = ...
我想只将其余客户端的属性加载到配置
中@Configuration
public class Config {
....
private Properties restProperties; // << here should go 3 properties with prefix rest.client
}
在基于Java的配置中有什么办法吗?
答案 0 :(得分:0)
如果您将所有rest.client
属性移动到他们自己的属性文件中(例如restclient.properies
),则可以使用PropertiesLoaderUtils:
Resource resource = new ClassPathResource("/restclient.properties");
Properties props = PropertiesLoaderUtils.loadProperties(resource);
或者,您可以使用@ConfigurationProperties,如here所示,但它不是Properties
对象,而是您自己定义的对象。
另外,我觉得值得一提的是你可以添加
@Autowired
private Environment env;
并使用
访问任何属性env.getProperty("your.property.here")