首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

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

2013-10-07 
spring 3.1.1 使用 @Value 注解无法注入属性.spring 3.1.1 使用 @Value 注解无法注入属性. 是Spring Frame

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

热点排行