1.在Spring 配置文件中对象名和ref=”id”id 名相同使用自动注入,可以不配置<property/>
2.两种配置办法
   2.1在<bean>中通过 autowire=”” 配置,只对这个<bean>生效
    2.2在<beans>中通过 default-autowire=””配置,表当当前文件中所有<bean>都是全局配置内容
3.autowire=”” 的可取值
  3.1default: 默认值,根据全局 default-autowire=””值. 默认全局和局部都没有配置情况下,相当于no.
  3.2no: 不自动注入

public class People {   //类的关系
private Teacher teacher;
}
    <bean id="teacher" class="com.test.Teacher"></bean>
<bean id="people" class="com.test.People" autowire="default">
<property name="teacher" ref="teacher"></property>
</bean>
    <bean id="teacher" class="com.test.Teacher"></bean>
<bean id="people" class="com.test.People">
<property name="teacher" ref="teacher"></property>
</bean>

  3.3byName: 通过名称自动注入.在Spring 容器中寻找缺省的类的同名的Id

 <bean id="teacher" class="com.test.Teacher"></bean>
<bean id="people" class="com.test.People" autowire="byName"></bean>

  3.4byType: 根据类型注入.
    3.4.1spring 容器中不可以出现两个相同类型的<bean>

   <bean id="teacher123" class="com.test.Teacher"></bean>
<bean id="people" class="com.test.People" autowire="byType"></bean>  

     输出: People{teacher=com.test.Teacher@6093dd95}

  <bean id="teacher123" class="com.test.Teacher"></bean>
<bean id="teacher124" class="com.test.Teacher"></bean>
<bean id="people" class="com.test.People" autowire="byType"></bean>

输出报错信息:expected single matching bean but found 2: teacher123,teacher124

  3.5constructor: 根据构造方法注入.
    3.5.1提供对应参数的构造方法(构造方法参数中包含注入对戏那个)

    <bean id="teacher123" class="com.test.Teacher"></bean>
<bean id="teacher" class="com.test.Teacher"></bean>
<!--保证constructor的入口参数和id的名称一致 -->
<bean id="people" class="com.test.People" autowire="constructor"></bean>
public class People {
private Teacher teacher; public People() {
} public People(Teacher teacher123) {
this.teacher = teacher123;
}
}

  建议: 在全局使用default-autowire=” byName "

最新文章

  1. oc--UINavigationController控制器
  2. Android无法收到指定广播的问题总结
  3. SQL Server 索引和视图
  4. T-SQL备忘(5):查看执行计划
  5. Mac 配置java版本 ---- MySql数据库权限设置 --- openfire
  6. Immediate Decodability(字典树)
  7. 利用VS自带的命令行工具查看和生产PublicKeyToken (转)
  8. Hibernat之关系的处理一对多/多对一
  9. referencedColumnName
  10. Dalsa Sherlock 直连千兆网相机(通用驱动)
  11. struts2.3.23升级到struts2.3.32
  12. ASP.NET MVC不可或缺的部分——DI(IOC)容器及控制器重构的剖析(DI的实现原理)
  13. Java实现发送邮件(可配置)忘记密码,发送邮件
  14. java设计模式:面向对象设计的7个原则
  15. 编译wxWidgets
  16. jweixin-1.1.0.js微信接口“分享给朋友”文字和图片配置
  17. Amazon
  18. Runloop, 多线程
  19. Django之模板层-语法:{{ }}
  20. Android开发日记(七)

热门文章

  1. Neo4j CQL基本使用
  2. python 数据库导入excel
  3. C++中的虚函数以及虚函数表
  4. react-native-typescript-项目环境搭建
  5. [转帖]Windows 7寿终正寝 为何Windows 10屡被吐槽它却无比经典?
  6. 在Python中创建和使用类
  7. Docker入门以及常用命令
  8. BZOJ5104 Fib数列 二次剩余、BSGS
  9. LOJ3146 APIO2019路灯(cdq分治+树状数组)
  10. glfw内存泄露测试