我有一个接口说A,并且它的五个实现在同一个包中说A1,A2,A3,A4,A5。 现在开始弹簧应用时,我只想根据自动装配从A1,A2,A3,A4,A5中加载一个说A1。我不想加载其他人,因为如果有很多这样的类,它会使应用程序繁重。请解释可能的答案。
答案 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上下文,您必须使用注释@Lazy
或lazy-init="true"
为xml config打开lazy mode。
一个延迟初始化的bean向IoC容器指示是否或 不应该在启动时或首次创建bean实例 请求。