spring 3.1.1 使用 @Value 注解无法注入属性.

spring 3.1.1 使用 @Value 注解无法注入属性.

是Spring Frame 管理 Bean 实例的 Factory.
引用
DefaultListableBeanFactory


在 ApplicationContext postProcessBeanFactory 时会调用下面这个方法.

引用
org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties


将 StringValueResolver 的实现 PlaceholderResolvingStringValueResolver 的实例添加到 BeanFactory 的实例中
引用
org.springframework.beans.factory.support.AbstractBeanFactory.addEmbeddedValueResolver


引用
AbstractBeanFactory
引用
DefaultListableBeanFactory
父类.

引用
Initializing Spring FrameworkServlet 'spring'
时,会再次创建一个
引用
DefaultListableBeanFactory
实例. 原来的实例会作为
引用
parentBeanFactory
属性存在. 导致 StringValueResolver 丢失.

Ref:
http://stackoverflow.com/questions/11890544/spring-value-annotation-in-controller-class-not-evaluating-to-value-inside-pro

猜你喜欢

转载自id-alex.iteye.com/blog/1947219