Spring自动注入
使用元素的 autowire 属性为一个 bean 定义指定自动装配模式
autowire设置值
no:没开启
byName: 根据bean的id名称,注入到对应的属性里面
byType:根据bean需要注入的类型,注入到对应的属性里面
如果按照类型注入,存在2个以上bean的话会抛异常
expected single matching bean but found 2
constructor: 通过构造函数注入,需要这个类型的构造函数

例子1:byName

代码:

 <bean id="video" class="work.yspan.sp.domain.Video" scope="singleton" init-method="init" destroy-method="destroy" ><property name="id" value="9"/><property name="title" value="Spring 5.x课程"/></bean><bean id="videoOrder" class="work.yspan.sp.domain.VideoOrder" autowire="byName"><property name="id" value="8"/><property name="outTradeNo" value="165xa1s1afa51"/></bean>

测试代码:

private static void testInject(ApplicationContext applicationContext){Video video=(Video) applicationContext.getBean("video");System.out.println(video.getTitle());VideoOrder videoOrder=(VideoOrder) applicationContext.getBean("videoOrder");System.out.println(videoOrder.getVideo().getTitle());}

测试效果截图:

当改变名字时

报错

例子2:byType

当将autowire改为"byType"时上面出错的问题就解决了,因为此时找的是类不再是名字

效果截图:

注意:
当存在两个bean都指向同一个类时使用byType会报错

例子3:构造函数注入


效果截图:

Spring的Bean的自动装配属性autowire相关推荐

  1. Spring之Bean的自动装配

    Spring从入门到精通–(4)Spring之Bean的自动装配 作者:进击攻城狮 个人主页:欢迎访问我的主页 首发时间:2022年8月5日星期五 订阅专栏:Spring入门到精通 个人信条:星光不问 ...

  2. Spring之 Bean的自动装配

    什么是Spring Bean的自动装配? 自动装配是Spring满足bean依赖一种方式 Spring会在上下文种自动寻找,并自动给bean装配属性 Spring种有三种装配方式 1.在xml种显示配 ...

  3. Bean的自动装配:autowire

    Bean的自动装配 Bean的自动装配 Spring IOC容器可以自动装配Bean.需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式 public class Ca ...

  4. Bean的自动装配(autowire)

    自动装配 介绍 测试 环境搭配 创建三个实体类 beans.xml 结果 byname自动装配 更改上面的beans.xml 结果 再次修改beans.xml 修改beans.xml byType 测 ...

  5. 详解Spring中Bean的自动装配~

    目录 1. 环境搭建 2. byName.byType 3. 使用注解实现自动装配 @Autowired @Resource 小结 自动装配是Spring满足bean依赖的一种方式 Spring会在上 ...

  6. Spring精华问答 | Spring Bean的自动装配是怎么回事?

    戳蓝字"CSDN云计算"关注我们哦! Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Sprin ...

  7. Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配

    一.Spring IOC 容器支持自动装配 Bean,所谓自动装配是指,不需要通过 <property> 或 <constructor-arg> 为 Bean 的属性注入值的过 ...

  8. Spring注解驱动开发学习总结8:自动装配注解@Autowire、@Resource、@Inject

    Spring注解驱动开发学习总结8:自动装配注解@Autowire.@Resource.@Inject 1.自动装配@Autowire.@Resource.@Inject 1.1 构建bookDao ...

  9. [Spring]Bean的自动装配

    Spring支持5种自动装配模式,如下: 1.no --默认情况下,不自动装配,通过"ref"attribute手动设定. 2.buName --根据Property的Name自动 ...

最新文章

  1. HarmonyOS ToastDialog 的使用
  2. abaqus高性能服务器怎么用,高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF...
  3. Django使用已经存有数据的mysql数据库
  4. 「AI激荡三十年」中的哈工大与王海峰:中国AI如何从贫瘠的孤岛,走向世界?...
  5. pox 中 openflow.webservice 组建的学习与使用
  6. [转] 设计模式的六大设计原则
  7. 俩虚拟机间通过ssh互相登陆
  8. 计算机应用基础分析与报告,y计算机应用基础出题分析报告.doc
  9. 死锁终结者:顺序锁和轮询锁!
  10. access统计各职务人数_2019年一建通过人数超15万?一建证书真的不值钱了?
  11. ACL实验详细过程讲解
  12. C语言 一个字符串翻转函数的编写
  13. c语言中关键字的分类,C语言关键字分类整理
  14. excel服务器bom修改,勤哲Excel服务器物料清单BOM表的实现方法
  15. 数据库系统原理mysql答案_数据库原理与应用MySQL答案
  16. 深度学习热点|超直观无公式图解Contrastive Predictive Coding从脸盲说起
  17. 本科毕业四年时间如何从月薪7k到年薪60w,讲下个人从菜鸟程序员到公司核心开发工程师的历程!
  18. 【推导】线性变换与在基下的矩阵一一对应
  19. csdn 博客插入gif动画
  20. 安邦信AMB100系列通用变频器通过PID功能实现恒压供水的基本方法

热门文章

  1. 李立宗《讲给入门者的深度学习》
  2. 解析各大电子商务网站订单号的生成方式
  3. 群晖Nas通过jellyfin搭建本地影音库详细全过程(二):jellyfin影音库信息手动刮削和相关设置(100%扫库成功)
  4. 数据可视化——力导向图的绘制
  5. 叶国富亿元保障基金背后,名创优品打起品质攻坚战
  6. 早期的牛津lemmatize
  7. 求一个数的相反数的补码
  8. kafka查询offset生产者offset计算消费offset计算
  9. 我和我的E影安全智能浏览器
  10. pixhawk入门指南