У меня есть класс Spring MVC Controller, которому требуется набор свойств из файла config.properties. Я думал, что, поскольку я уже использовал этот файл конфигурации, чтобы установить некоторые свойства db, я мог бы получить к нему доступ аналогичным образом, чтобы установить это свойство. Разница в том, что мой класс Controller аннотируется и не объявляется в XML-файле, поэтому я не могу установить это свойство обычным способом. У меня есть мои config.properties готовые для использования в моем файле XML, как так:Использовать объект Spring 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, чтобы получить ссылку на этот файл.
Прекрасное спасибо. Один вопрос, где аннотация @Value ищет это значение? Просматривает ли он все владельцы свойств, известные контейнером Spring? –
Я так считаю, да. Он использует тот же механизм, что и если вы указали его с помощью ' ' –
skaffman