zoukankan      html  css  js  c++  java
  • 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进行了自动装配,也可以利用构造方法进行自动装配。

    观察构造方法的配置:

    配置如下:

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

  • 相关阅读:
    Mac 生成public_key
    OmniGraffler软件和激活码
    Maven将本地项目打包后引入本地另一个项目
    spring boot 项目启动无法访问,排查
    服务端推送
    使用IDEA进行commit合并(折叠)
    将map转为Object,支持 Date/Boolean
    mysql 删除同样记录只保留一条
    Springboot文件上传限制
    Springboot 上传文件
  • 原文地址:https://www.cnblogs.com/alsf/p/7900929.html
Copyright © 2011-2022 走看看