本章主要讲了装配bean的三种方式。
一.自动化装配bean
1.如何实现的。
答:①组件扫描
Ⅰ.在需要被创建为bean的类上使用注解@Component
如果没有显示指定bean的ID,Spring会将该类的类名的第一个字母变为小写作为bean的ID.想设置不同的ID,可以使用注解@Component(ID名)或@Named(ID名)
Ⅱ.启用组件扫描
⑴如果装备规则使用的是JAVA代码,那么启用组件扫描需要使用注解@ComponentScan。@ComponentScan默认配置类所在的包作为基础包来扫描组件。
⑵如果装配规则使用的是XML,那么使用元素<context:component_scan>启用组件扫描。
②自动装配
在依赖处通过@Autowired来声明,该注解可以使用在类的任何方法中。
二.通过Java代码显示装配bean
1.如何实现的
答:①创建配置类。通过添加@Configuration
②在配置类中声明bean。通过@Bean,默认bean的id和注解的方法名一样,如果想改变bean的id可以通过属性name
③实现注入。
⑴如果依赖的类的bean声明在同一个配置类中,直接引用创建bean的方法。
⑵在声明bean的方法中将依赖的类作为参数请求。
三.通过XML配置装配bean
①创建XML配置规范
②通过<bean>元素声明bean.其中bean的类通过class属性使用全限定的类名指定。
③注入依赖
⑴通过构造器注入
使用元素<constructor-arg ref/value="...">(如果是引用使用属性ref;字面量使用属性value)或Spring3.0引入的c命名空间
使用c命名空间是无法装配集合的
⑵通过属性注入
使用元素<property>或p命名空间
对强依赖使用构造器注入,可选性的依赖使用属性注入