java – Spring中bean初始化的顺序
发布时间:2020-12-15 02:08:54 所属栏目:Java 来源:网络整理
导读:我的 Spring配置文件中有以下bean: bean id="myList" class="java.util.ArrayList" constructor-arg list ref bean="elem1"/ ref bean="elem2"/ ref bean="elem3"/ ref bean="elem4"/ /list /constructor-arg/beanbean id="elem4" class="myClass" property
我的
Spring配置文件中有以下bean:
<bean id="myList" class="java.util.ArrayList"> <constructor-arg> <list> <ref bean="elem1"/> <ref bean="elem2"/> <ref bean="elem3"/> <ref bean="elem4"/> </list> </constructor-arg> </bean> <bean id="elem4" class="myClass"> <property name="title" value="random4"/> </bean> <bean id="elem1" class="myClass"> <property name="title" value="random1"/> </bean> <bean id="elem3" class="myClass"> <property name="title" value="random3"/> </bean> <bean id="elem2" class="myClass"> <property name="title" value="random2"/> </bean> 我注意到在我的应用程序中,myList中的元素按以下顺序排列:elem4,elem1,elem3,elem2.当我宣布ref bean(elem1,elem2,elem4)时,我期待列表中的元素将按照我设置的顺序排列. 解决方法
弹簧确实尊重您在列表中给出的顺序.列表中的元素将完全是您指定的[elem1,elem4].否则,你做错了什么,你能显示打印不同订单的代码吗?
然而,bean初始化的顺序可能不同,并且取决于bean依赖性,因此,例如,如果您有两个bean <bean id="holder" class="my.HolderBean" lazy-init="false"> <property name="inner" ref="inner"/> </bean> <bean id="inner" class="my.InnerBean" lazy-init="false"/> 然后,无论xml定义顺序如何,都将首先初始化InnerBean,然后在HolderBean初始化期间将其注入HolderBean. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |