读书人

spring 3.1.1 使用 @Value 注脚无法注

发布时间: 2013-10-07 19:41:22 作者: rapoo

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

读书人网 >软件架构设计

热点推荐