标签:ext 模式 property auto 放弃 contex 全局 多个 tar
xml配置
至此,我们把XML配置下2种注入方式都实验过了,它们的区别是:
XML配置<property> + 对象提供对应的setter方法
XML配置<constructor-arg> + 对象提供对应的构造方法
改变XML配置的同时,需要对象提供对应的方法支持。如果你用了<property>,却没有在类中提供setter方法,则会报错。
xml自动装配
Spring支持自动装配(全局/局部),把原先<bean>标签的职责单一化,只定义bean,而依赖关系交给类本身维护
自动装配共4种,除了no,其他3种各自对应两种注入方式:byName/byType对应setter方法注入,constructor对应构造方法注入 (请自己动手证明)
注解自动装配
也就是说,@Autowired默认采用byType模式自动装配,如果找到多个同类型的,会根据名字匹配。都不匹配,则会报错。
@Autowired:默认byType,type相同则byName
@Resource:和@Autowired几乎一样,但不能配合@Qualifier,因为它本身就可以指定beanName。但没有required属性
配置类充当xml
Java-based Container Configuration编程风格指的是:
用@Configuration把一个普通Java类变成配置类,充当XML
在配置类中写多个方法,加上@Bean把返回值对象加到Spring容器中
把配置类AppConfig喂给AnnotationConfigApplicationContext,让它像解析XML一样解析配置类
无需加@Component注解,因为我们可以手动new之后通过@Bean加入容器
标签:ext 模式 property auto 放弃 contex 全局 多个 tar
原文地址:https://www.cnblogs.com/pong137/p/14231863.html