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