我正在使用属性File来存储一些配置属性,这些属性以这种方式访问:
@Value("#{configuration.path_file}")
private String pathFile;
是否可以(使用Spring 3)使用相同的@Value
注释,但是从数据库而不是文件加载属性?
答案 0 :(得分:2)
假设您的数据库中有一个表存储了键/值对:
定义一个新的bean“applicationProperties” - 伪代码跟随...
public class ApplicationProperties {
@AutoWired
private DataSource datasource;
public getPropertyValue(String key) {
// transact on your datasource here to fetch value for key
// SNIPPED
}
}
在应用程序中需要的地方注入此bean。如果你已经有一个dao / service层,那么你就可以使用它了。
答案 1 :(得分:1)
虽然没有使用过spring 3,但我假设你可以,如果你创建一个从数据库中读取属性并用getter公开它们的bean。