zoukankan      html  css  js  c++  java
  • spring学习 十五 spring的自动注入

    一  :在 Spring 配置文件中对象名和 ref=”id” ,id 名相同使用自动注入,可以不配置<property/>,对应的注解@Autowired的作用

    二: 两种配置办法

    (1) 在<bean>中通过 autowire=”” 配置,只对这个<bean>生效

    (2) 在<beans>中通过 default-autowire=””配置,表当当前文件中所有<bean>都是全局配置内容

    三:autowired的取值

    3.1 default: 默认值,根据全局 default-autowire=””值.默认全局和局部都没有配置情况下,相当于 no
    3.2 no: 不自动注入
    3.3 byName: 通过名称自动注入.在 Spring 容器中找类的 Id,如果有一个bean的id与当前bean的属性的变量名一样,就注入
    3.4 byType: 根据类型注入.
      3.4.1 spring 容器中不可以出现两个相同类型的<bean>
    3.5 constructor: 根据构造方法注入.
      3.5.1 提供对应参数的构造方法
      3.5.2 底层使用 byName, 构造方法参数名和其他<bean>的 id相同.

         <bean id="people" class="com.spring.pojo.People" autowire="constructor">
                   <!-- <property name="teacher" ref="teacher"></property> -->
           </bean>
           <bean id="teacher" class="com.spring.pojo.Teacher"></bean>

    如果bean  people这个bean要注入teacher这个bean ,且采用contructor方式,那么bean people代表的类必须有一个构造方法,且构造方法中必须有一个参数,参数的类型是 bean teacher对应的类的类型,且参数名称必须是“teacher”,即被注入bean的id定,要与接受注入的类的构造方法的参数一样,所以本质是byName

  • 相关阅读:
    细说:Http协议 篇
    连接池
    实践
    事务
    一、Jdbc 入门
    ES6之路第一篇:let、const
    vue2饿了吗之路第二篇:登录
    RabbitMQ(三)——简单模式
    RabbitMQ(二)——模式类型
    RabbitMQ(一)——简介
  • 原文地址:https://www.cnblogs.com/cplinux/p/9744329.html
Copyright © 2011-2022 走看看