Spring 3.0.5 не оценивает аннотацию @Value из свойств
Попытка автоматической проводки свойств в bean в Spring 3.0.5.RELEASE, я использую:
В результате имя пользователя устанавливается буквально "${username}"
, поэтому выражение не получает синтаксический анализ. Мои другие связанные с этим отношения с автоподключением этого класса устанавливаются, а Spring не вызывает никаких исключений. Я также попытался добавить @Autowired
, но это не помогло.
Если я анализирую свойства для отдельного bean, а затем использую @Autowired
+ @Qualifier
, он работает:
<bean id="username" class="java.lang.String">
<constructor-arg value="${username}"/>
</bean>
Любые идеи о том, как использовать только @Value
? Может быть, мне нужно включить некоторую зависимость Spring, которой у меня нет? Спасибо вам
Ответы
Ответ 1
Нашел вопрос. Скопировать/вставить из комментариев:
У вас есть <context:property-placeholder>
в том же контексте приложения, что и MyClass bean (не в родительском контексте)? - axtavt
Ты прав. Я переместил <context:property-placeholder>
из контекста, определенного ContextLoaderListener
, в контекст сервлета. Теперь мои значения анализируются. Большое спасибо! - alex