Это простой вопрос,Spring MVC: Как получить контекстный параметр при создании экземпляра компонента?
Как получить параметр контекста сервлета, когда весна создает экземпляр компонента?
мой контекст сервлета XML
<beans:bean id="ApplicationInfo" class="xx.xx.xx.ApplicationInfo"/>
В моем коде
public class ApplicationInfo{
ApplicationInfo()
{
//get context.xml or web.xml parameter
String xxx = .......;
}
}
мой pom.xml
<org.springframework-version>3.2.11.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.9</org.aspectj-version>
<org.slf4j-version>1.5.10</org.slf4j-version>
<org.springsecurity-version>3.2.5.RELEASE</org.springsecurity-version>
<org.springjpa-version>1.1.0.RELEASE</org.springjpa-version>
<hibernate.version>4.1.6.Final</hibernate.version>
<postgresql.version>9.1-901-1.jdbc4</postgresql.version>
<tiles-version>2.2.2</tiles-version>
<jackson-json-version>2.1.0</jackson-json-version>
Примечание: я пытался получить контекст сервлета с помощью @annotation, однако это nullpointer.
Дон» т. Внесите «Среда» и вручную извлеките значение с помощью 'getProperty' или просто добавьте поле, аннотированное с помощью' @Value («$ {your.property.name}»). Это приведет к добавлению свойства. «ServletContext» является одним из доступных ресурсов для свойств. –
Как вводить Окружающую среду? или, может быть, какая-то связь для меня? – Stupidfrog
Просто добавьте '@ Autowired' в поле типа' Environment'. Также обратите внимание, что он доступен после построения, попытка доступа к нему в конструкторе завершится с ошибкой. Использование «Среда» дает вам абстракцию для свойств и позволяет (например) помещать их в файл свойств или JNDI или web.xml (или вы можете смешивать). И он очищает ваш код от привязки к контексту сервлета. –