我们如何将自己开发的Bean装配到Spring-IOC容器中,基本来说有3种方式:
1,通过XML进行配置
<bean id="" class=""></bea>
2,通过注解进行配置,可以有效减少XML的配置,推荐使用
首先,在需要被Spring管理的Bean上添加@Component注解,
其次,通过@ComponentScan注解指定扫描的包或者XML的方式都可以
<context:component-scan base-package=""/>
最后,通过@Autowried实现根据类型,自动装配(Spring会自动寻找定义的Bean并将其注入)
关于@Autowried的注入异常问题:
如果现在存在一个接口多个实现类的情况,那么spring容器将无法知道该注入哪个实现类的实例,所以spring为我们提供了两种方式:
方式一:通过在某个实现类添加@Primary,表示以他为准
方式二:通过@Qualifier("userService2"),按名称进行注入
3,@Bean
@Component只能注解在类上,@Bean可以注解在方法上,并且将方法返回的对象作为Spring的Bean,保存到Spring-IOC容器中
总结:
整体来说,如果是自己开发的类建议采用注解的方式,而第三方提供的类建议采用XML的方式,这样我们不需要去理解第三方包内部的实现细节。无论哪种方式,最终的目的都是将Bean装配到Spring-IOC容器中,这样就可以管理各类资源了。