栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring 3.1 PropertySourcesPlaceholderConfigurer和条件导入

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring 3.1 PropertySourcesPlaceholderConfigurer和条件导入

链接的脚注[2]:

[2]:因为

<import/>
元素的处理必须在调用BeanFactoryPostProcessors之前进行,这意味着即使PropertyPlaceholderConfigurer也无济于事。由于在容器刷新之前已配置了环境及其属性源集,因此可以针对环境解析元素中的占位符,而不会出现任何生命周期问题。

更新

根据PropertySourcesPlaceholderConfigurer的javadoc,

PropertySourcesPlaceholderConfigurer
a
BeanFactoryPostProcessor
,所以脚注真正说的是,导入是
安装PropertySourcesPlaceholderConfigurer 之前 解决的,因此也 无法正常工作
(事实上​​,在
<import/>
解决该问题时,配置器甚至可能无法是的,当安装它时,它将查看
Environment
,但是您不能使用它来解析
<import/>
,因为当时没有后处理器可运行。其中包括
PropertySourcesPlaceholderConfigurer

基本上,Spring XML上下文设置大致是这样的:

  1. 上下文已创建。
  2. Environment
    被设置。
  3. 读取XML(所有XML,必要时解析导入)。Bean定义已创建。
  4. BeanFactoryPostProcessor
    安装并调用,处理Bean定义。
  5. BeanPostProcessor
    已安装。
  6. 根据bean的定义实例化bean。BeanPostProcessor被应用。

这与导致类似问题的原因类似,该问题导致您无法使用

order
许多后处理器的属性在a
BeanPostProccesor
之前应用a
BeanFactoryPostProcessor
(以执行诸如
PropertyPlaceholderConfigurer
从a来创建占位符的操作
@PersistenceContext
):该行为在Spring应用程序上下文中进行了硬编码,因此您必须通过专门处理一些Spring类来解决此问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号