我有一个Spring MVC Controller类,需要从config.properties文件中设置属性。我在想,因为我已经使用此配置文件来设置一些数据库属性,所以我可以通过类似的方式访问它来设置此属性。区别在于,我的Controller类是带注释的,并且未在XML文件中声明,因此我无法以通常的方式设置属性。我已经准备好将config.properties像这样在XML文件中使用:
<context:property-placeholder location="/WEB-INF/config.properties" />
我想通过此属性文件中的条目在控制器类中设置以下属性:
@Controller
public class SampleUploadController {
private String audioFilePath;
public String getAudioFilePath() {
return audioFilePath;
}
// I want this set from the properties file I've declared in my
// XML file: e.g. ${props.audioFilePath}
public void setAudioFilePath(String audioFilePath) {
this.audioFilePath = audioFilePath;
}
}
这可能吗。如果没有,有人可以建议如何从配置文件中获取我需要的属性吗?它位于我的根WEB-INF中。问题是我目前无法访问ServletContext来获得对该文件所在位置的引用。
最佳答案
在Spring 3中,您可以使用@Value
注释执行此操作,例如
@Value("${props.audioFilePath}")
public void setAudioFilePath(String audioFilePath) {
this.audioFilePath = audioFilePath;
}