我有一个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;
}

09-11 15:40