我有一个xml bean配置,如下所示:
PN Alt Val
A B 5
C 3
D E 4
F G 3
我想添加一个新属性 defaultTimeout ,但是我不想对其进行硬编码。
我想改为放置一些类,该类将从内存缓存中的某些属性中检索此属性的值(与实际位置无关)
我以前听说过并使用过- org.springframework.beans.factory.config.PropertyPlaceholderConfigurer 但是它从属性文件中检索值,这并不是我真正需要的。
能否请您告知我的方向?
答案 0 :(得分:0)
我要放置此属性一些类,而不是从内存缓存中的某些属性中检索此属性的值(与实际位置无关)
将txManager注入此某个类并在那里设置defaultTimeout怎么样?
答案 1 :(得分:0)
尝试查看com.typesafe.config库https://www.javadoc.io/doc/com.typesafe/config/1.2.1。这样可以加载配置文件。
使用此库创建config类型的Bean。这样的事情。这是一个Java配置,但可以适应XML实现。
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.your.package")
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Bean
public Config properties() throws Exception {
String path = ""; // path to properties file
Config conf = ConfigFactory.parseFile(new File(path));
return conf;
}
}
然后在组件类中,可以自动装配Bean并使用存储在内存Bean中的属性。
@Autowired
private Config properties;
...
properties.getString("your property key");