如何在Spring中只加载选择性类或bean

时间:2016-07-27 12:52:18

标签: java spring spring-mvc classloader

我有一个接口说A,并且它的五个实现在同一个包中说A1,A2,A3,A4,A5。 现在开始弹簧应用时,我只想根据自动装配从A1,A2,A3,A4,A5中加载一个说A1。我不想加载其他人,因为如果有很多这样的类,它会使应用程序繁重。请解释可能的答案。

1 个答案:

答案 0 :(得分:1)

<强> @Qualifier

假设您有以下背景:

<bean id="a1_beanId" class="com.A1" >
</bean>

<bean id="a2_beanId" class="com.A2" >
</bean>

您必须使用qualifier自动装配A接口才能正确实现。然后通过bean id进行自动装配。

@Autowired
@Qualifier("a1_beanId")
private A yourA1Bean;

<强> @Lazy

要防止将bean加载到spring上下文,您必须使用注释@Lazylazy-init="true"为xml config打开lazy mode

  

一个延迟初始化的bean向IoC容器指示是否或   不应该在启动时或首次创建bean实例   请求。