spring可以根据某些规则给引用类型完成赋值,只对引用类型有效。有两种方式实现自动注入,下面简单的介绍以下

1-ByName

按名称自动注入:Java类中引用类型的属性名称和spring容器中bean的id相同,且数据类型也相同的话,那么这些bean能够赋值给引用类型
示例:
创建student和school实体类,其中student有一个属性为school类型

配置文件中在student的bean标签对中添加autowire=“ByName” 。(可以看到我在配置文件中并未声明studnet的school属性 仅是添加了自动注入)

测试运行

运行结果:Student{name=‘小明’, age=18, school=School{name=‘北京大学’, address=‘北京市海淀区’}}

2-ByType

按类型注入:Java中引用类型的数据类型和spring容器中bean的class值是同源关系的,这样的bean赋值给引用类型
同源关系有三种
1-Java中引用类型的数据类型和bean的class值是一样的
2-Java中引用类型的数据类型和bean的class值是父子类关系的(多态)
3-Java中引用类型的数据类型和bean的class值是接口和实现类关系的(多态)
在语法上仅是将autowire="ByName"改为autowire="ByType"即可

Spring自动注入(引用类型)相关推荐

  1. 基于spring自动注入及AOP的表单二次提交验证

    2019独角兽企业重金招聘Python工程师标准>>> 这几天在网上闲逛,看到了几个关于spring的token二次提交问题,受到不少启发,于是自己动手根据自己公司的项目框架结构,制 ...

  2. Spring自动注入

    谈及一个问题,无非牵扯到三点,是什么,怎么来的,怎么用的 Spring自动注入是什么 是指容器中的一个组件中需要用到另一个组件(例如聚合关系)时,依靠spring容器创建对象,而不是手动创建: Spr ...

  3. 巧用 Spring 自动注入实现策略模式升级版

    一.前言 1.1 背景 在工作过程中,有时候需要根据不同的枚举(常量)执行不同的逻辑. 比如不同的用户类型,使用不同的优惠政策:不同的配置变化,走不同的处理逻辑等. 下面模拟一个根据不同用户类型,走不 ...

  4. Spring自动注入原理

    我的博客 spring的属性注入属于spring bean的生命周期一部分,bean的生命周期首先记住两个概念: spring bean:最终存在spring容器当中的对象 对象:实例化出来的对象,但 ...

  5. 【Spring】Spring 自动注入(autowire)详解

    1.概述 转载:添加链接描述 2. 手动注入的不足 [Spring]Spring 依赖注入之手动注入 上篇文章中介绍了依赖注入中的手动注入,所谓手动注入是指在xml中采用硬编码的方式来配置注入的对象, ...

  6. java应用中spring自动注入_Spring自动注入的几种方式

    ---恢复内容开始--- @Service("accountEmailService") public class AccountEmailServiceImpl implemen ...

  7. Spring自动注入的几种方式

    ---恢复内容开始--- @Service("accountEmailService") public class AccountEmailServiceImpl implemen ...

  8. java应用中spring自动注入_java-Spring Security会自动过滤注入吗?

    我有一个使用spring-security core v4.1.1.RELEASE的spring-boot应用程序(spring-boot v1.3.3.RELEASE). 看来,如果我通过扩展Onc ...

  9. spring自动注入--------

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

最新文章

  1. PaddlePaddle版Flappy-Bird—使用DQN算法实现游戏智能
  2. linux declare大小写,关于linux:将用户输入转换为大写
  3. SQL 中 PROCEDURE,TRIGGER,FUNCTION简单应用
  4. C和指针之反转字符串
  5. java自定义栈类代码,异常堆栈和自定义类
  6. 资源管理与调度系统-YARN资源隔离及以YARN为核心的生态系统
  7. 代码英雄:波澜壮阔的操作系统之战(音频+长文)
  8. 让刺猬和狐狸结婚:资本巨鳄BlackRock的金融科技野心
  9. IplImage 加载图像
  10. java数据结构——树的实现
  11. 【无标题】红外人脸数据集
  12. 动手学深度学习讲义批量下载
  13. Glide图片框架使用详细介绍(一),手握5家大厂offer
  14. 宁德时代钠电池雷声大,雨点小?
  15. 360插件化方案RePlugin学习笔记-插件使用宿主中的类
  16. Windows无线网络设置中的7种安全类型简介
  17. java实现mysql的导入导出_Java实现mysql导入导出Excel
  18. 微信服务商子商户支付
  19. 【Maxent】最大熵的数学原理及其在推断问题中的应用
  20. Linux运维学习笔记之三十一:监控利器Nagios实战

热门文章

  1. bibliometrix-BiblioShiny使用
  2. 浙江省高考报考类别计算机,2019浙江高考一分一段表出炉!这些志愿填报的关键信息和节点一定要了解~...
  3. 一款优秀的BIDS辅助工具-BIDS Helper
  4. 微信小程序开发关于地图图片显示不出问题
  5. python三国演义人物 统计分析_Python统计三国演义主要人物出场次数
  6. 域名信息收集--渗透测试
  7. python1 2 100_GitHub - smm113522/Python-100-Days: Python - 100天从新手到大师
  8. 【矩阵论笔记】线性变换在不同基偶下的矩阵之间的关系
  9. 基于动态径向基函数(DRBF)代理模型的优化策略
  10. 2019TLC大会精彩回顾—大前端·信息流