如何在春天控制对象创建的顺序?

时间:2016-10-29 08:06:45

标签: spring

在基于xml的方法中,我们在xml中配置bean定义, bean将按照我们定义bean的顺序创建。

1)<beans>

<bean id="a" class="com.abc.a"/>

`<bean id="b" class="com.abc.b"/>`

</beans> 在这里, a将首先在b之前创建。

2)<beans> <bean id="a" class="com.abc.a"> <property name="c" ref="c"/> </bean>

<bean id="b" class="com.abc.b/">

<bean id="c" class="com.abc.c/"> 此处将首先创建c,然后创建一个b

在注释驱动方法的情况下,如何控制对象创建的顺序?使用有序界面?

2 个答案:

答案 0 :(得分:0)

Spring具有java config的Order属性和xml配置的order属性,用于控制bean的创建顺序。 (较低的值意味着较早的创建,也允许负数)

另一种方法是控制订单是DependsOn注释/属性。

答案 1 :(得分:0)

Spring容器首先在xml和&amp;中创建依赖对象(因为它们是主对象根据对象图需要的)。注释方法。

在注释驱动方法的情况下,如何控制对象创建的顺序?使用有序界面?

您无法控制对象的顺序,因为始终需要首先创建依赖对象,然后是主对象。 订单界面用于不同的目的,即使用自动装配将对象推送到列表中。

您可以参考以下链接中的示例,使用@Order将对象设置/推送到列表中:

What is the use of @Order annotation in Spring?