06-spring学习-自动装配

自动装配前面也有写过。这里只做补充

在之前,对于要引用的属性,都必须写上名称,

原始配置:

  当要在emp对象里面引用dept对象的时候,需要明确的使用“ref“属性去找到指定的名称,但是这种操作中也可以使用类型的

自动装配。

实现自动装配:

autowire:bytype

此时的装配过程没有明确写上要引用的是dept的配置,但是却可以通过autowire自动的根据类型查找到所需要的bean的对象,并且应用。

但是这样的操作也有问题:因为是按照类型的关系引用,如果现在出现了两个同类型的操作呢?

观察如下:

以上的deptA和deptB两个bean的类型都是Dept。

执行就会报错:

以上的代码根本不可能实现自动实现匹配操作。所以需要有人推荐。

设置推荐选择primary:true

 

比如:上面推荐使用deptB这个bean的实例。就可以加上primary=true。

自动退出:autowire-candidate=”false”

意味着:如果在类型匹配过程中,不会再去考虑此bean的情况。

除了以上的操作,利用了setter进行了自动装配,也可以利用构造方法进行自动装配。

观察构造方法的配置:

配置如下:

这种自动的配置模式比较麻烦,如果可以,尽量明确的引用一个名称更加合理。

原文地址:https://www.cnblogs.com/alsf/p/7900929.html