Spring XML初始化命令

时间:2012-06-18 22:45:41

标签: xml spring configuration autowired

有人可以解释Spring xml配置文件中bean的初始化顺序吗?它在某些情况下似乎依赖于顺序,但我无法找到任何指示此情况的文档。使用单个配置文件时,bean顺序似乎是独立的。但是,如果在父配置中覆盖bean,则顺序可能很重要。我需要进行额外的测试,以确切地确定导致此失败的情况。我使用Spring 3.0.5并使用配置文件通过模拟实现覆盖生产代码中的bean。 bean被自动装配到服务中,并且模拟对象是需要覆盖的原因。任何有关这方面的见解将不胜感激。

1 个答案:

答案 0 :(得分:0)

订单有时很重要,我可以想到这些情况:

  1. 稍后使用完全相同的名称定义的Bean会覆盖之前定义的bean - 因此,如果您对某些bean进行了模拟,只需在加载核心应用程序bean后定义它。
  2. BeanFactoryPostProcessors和BeanPostProcessors根据其定义位置或基于order属性(如果存在)进行处理。
  3. AOP建议基于order属性执行。
  4. 第一点似乎涵盖了您的情况,但我刚刚指定了其他人的完整性,其他SO用户可以添加更多内容。