关于spring加载applicationContext初始化bean顺序的问题

时间:2021-08-31 19:36:17

ApplicationContext.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="chinese" class="com.test.Chinese" >

<property name="axe" ref="steelaxe"></property>

</bean>

<bean id="steelaxe" class="com.test.SteelAxe"></bean>

1. 使用以下方式加载xml时

ApplicationContext ctx = new FileSystemXmlApplicationContext(

"applicationContext.xml");

按照bean在xml中的顺序实例化bean

结果如下:

Spring实例化主调bean Chinese

Spring实例化steelaxe

Spring执行依赖注入 axe属性

程序已经实例化beanfactory

程序已经完成chinese bean的实例化

钢斧砍柴真快 此人年龄为:0

2. 使用如下方式加载xml时

XmlBeanFactory ctx = new XmlBeanFactory(new ClassPathResource(

"applicationContext.xml"));

按照bean的依赖关系实例化bean

结果如下:

程序已经实例化beanfactory

Spring实例化主调bean Chinese

Spring实例化steelaxe

Spring执行依赖注入 axe属性

程序已经完成chinese bean的实例化

钢斧砍柴真快 此人年龄为:0