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

  • 相关阅读:
    Vue 项目运行 npm run dev 命令时会报错:“'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序” 的解决办法
    百度地图 操作步骤
    返回数据-----数组处理
    Echarts折线图,适配可移动
    jq checkbox的操作——全选、反选
    jquery 时间戳与日期转换
    Flex 布局
    iphone遇到INPUT标签BUG
    点击复制粘贴
    Python数据类型的可变与不可变
  • 原文地址:https://www.cnblogs.com/cplinux/p/9744329.html
Copyright © 2011-2022 走看看