Попытка автоматической проводки свойств в bean в Spring 3.0.5.RELEASE, я использую:
-
config.properties
:username=myusername
-
main-components.xml
:<context:property-placeholder location="classpath:config.properties" />
-
MyClass:
@Service public class MyClass { @Value("${username}") private String username; ... }
В результате имя пользователя устанавливается буквально "${username}"
, поэтому выражение не получает синтаксический анализ. Мои другие связанные с этим отношения с автоподключением этого класса устанавливаются, а Spring не вызывает никаких исключений. Я также попытался добавить @Autowired
, но это не помогло.
Если я анализирую свойства для отдельного bean, а затем использую @Autowired
+ @Qualifier
, он работает:
<bean id="username" class="java.lang.String">
<constructor-arg value="${username}"/>
</bean>
Любые идеи о том, как использовать только @Value
? Может быть, мне нужно включить некоторую зависимость Spring, которой у меня нет? Спасибо вам