Spring的自动装配

在Spring中对自定义的引用类型注入时可以实现自动赋值。但是必须依赖set方法;

 自动装配功能有两种:

<!-- 
    autowire:"byType" --根据class匹配
    autowire:"byName" --根据id匹配
 -->
<bean id="user" class="pojo.User" autowire="byType/byName"/>
<bean id="car" class="pojo.Car"/>
<bean id="ball" class="pojo.Ball"/>

原理:

  autowire:"byType"首先会解析全部的set方法,之后找到当前类中的参数类型,根据参数类型与Bean中的class进行匹配,若匹配成功则能完成注入操作。反之注入失败就是个null而不会飘红(报错)。

  autowire:"byName"首先会解析全部的set方法,然后根据set方法经过拆分得到一个值(setCar -> Car -> car),之后拿该值去与Bean中的id进行匹配,匹配成功则完成注入操作。反之注入失败也就是个null而不会飘红。

ps:

  自动装配也可配成全局的配置,配成全局配置后就可以完成对所有Bean设置成自动装配。---- default-autowire=" byType/byName "

                                

原文地址:https://www.cnblogs.com/tongxuping/p/7063260.html