今天学习了一下【最小化Spring XML配置】,可以让Spring的配置更加简化易用
Spring为我们提供了【自动装配】和【自动检测】
※有4种类型的自动装配
①byName:把与bean的属性具有相同名字(或者ID)的其他bean自动装配到bean的对应属性中。如果没有跟属性的名字相匹配的Bean,则该属性不进行装配.
②byType:把与bean的属性具有相同类型的其他Bean自动装配到Bean的对应属性中。如果没有跟属性的类型相匹配的Bean,则该属性不进行装配.
③constructor:把与Bean的构造器参数相同类型的其他Bean自动对应入参数中
④autodetect:首先尝试使用constructor进行装配,如果失败,则使用byType进行装配
今天看代码时,代码中使用了【注解装配】
spring容器默认禁用注解装配,要启用注解装配的话,需要配置:一旦配置成功,即可使用注解装配
<span style="font-size:18px;"><context:annotation-config/></span>
Spring3支持几种不同的用于自动装配的注解:
①@Autowired
②@Injected
③@Resource
@Autowired与@Resource的区别是:@Autowired默认按类型(byType)装配,@Resource默认按名称(byName)装配,当找不到与名称匹配的bean时,会按类型装配
@Autowired有时不能确定要装哪个bean,要使用@Qualifer限定器来缩小Bean的匹配范围
例如下:自动装配id为guitar的Bean
<span style="font-size:18px;">@Autowired
@Qulifier("guitar")
private Instrument instrument;</span>
※自动检测标注Bean
有了自动检测标注,就不用再在配置文件中配置标注bean了,spring会自动帮助我们标注
但是需要在配置文件中配置
<span style="font-size:18px;"><context:component-scan /></span>
特殊的注解有以下几种:
①@Component:通用的构造型注解,标识该类为Spring组件
②@Controller:标识将该类定义为Spring MVC controller
③@Repository:标识该类定义为数据仓库
④Service:标识该类定义为服务
今天就学习了这些理论知识~~~~~~~~~~再接再厉