Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入。

构造方法注入

构造器注入:保证了一些必要的属性在Bean实例化时就设置,并且确保了bean实例在实例化后就可以使用.

  1. 在类中,不用为属性设置setter方法,只需提供构造方法即可
  2. 在构造文件中配置该类bean,并配置构造器,在配置构造器中用
//ApplicationContext.xml
<bean id="action" class="com.action.UserAction"><constructor-arg index ="0" name="name" value="Murphy"></constructor-arg>
</bean>

提供构造方法

public class UserAction {private  String name;public UserAction(String name) {this.name = name;}
}

setter注入

  1. 根据property标签的name属性的值去找对应的setter方法.
    例如: name= “aa” 对应的就是setAa方法.
  2. 由于属性注入具有可选性和灵活性高的优点,是实际上最常用的注入方式.
  3. 属性注入要求bean提供一个默认的构造函数,并为需要注入的属性提供对应的setter方法.spring先调用bean默认的构造函数实例化bean对象,然后通过反

Java依赖注入的三种方式相关推荐

  1. 05.bean依赖注入的三种方式

    05.bean依赖注入的三种方式 1.概述 依赖注入 DI(Dependency Injection):它是 Spring 框架核心 IOC 的具体实现. 在编写程序时,通过控制反转,把对象的创建交给 ...

  2. spring依赖注入的三种方式以及优缺点

    spring依赖注入的三种方式以及优缺点 一.依赖注入的三种方式 1.通过构造器注入.(spring4.3之后,推荐使用) 2.通过setter注入.(spring4.3之前,推荐使用) 3通过fil ...

  3. php依赖注入的三种方式

    控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度.其中最常见的方式叫做依赖注入(Dependency Inject ...

  4. Spring系列之依赖注入的三种方式

    目录 一.依赖注入方式 1.使用属性的setXXX方法注入 2.构造函数注入 (1)按类型匹配入参type (2)按索引匹配入参index (3)联合使用类型和索引匹配入参[type和index一起使 ...

  5. 依赖注入的三种方式_Spring IoC是如何进行依赖注入的

    依赖注入(DI) DI(Dependency Injection),Spring IoC 不是一种技术,而是一种思想,通过这种思想,能够指导我们设计出松耦合的程序代码.而Spring IoC这个思想的 ...

  6. Spring依赖注入的三种方式(好的 坏的和丑的)

    关于spring bean三种注入方式的优缺点对比,翻译自Spring DI Patterns: The Good, The Bad, and The Ugly,水平有限,如有错误请指正. Sprin ...

  7. 依赖注入的三种方式_一起学Spring之三种注入方式及集合类型注入

    本文主要讲解Spring开发中三种不同的注入方式,以及集合数据类型的注入,仅供学习分享使用,如有不足之处,还请指正. 概述 Spring的注入方式一共有三种,如下所示: 通过set属性进行注入,即通过 ...

  8. Spring注解依赖注入的三种方式的优缺点以及优先选择

    当我们在使用依赖注入的时候,通常有三种方式: 1.通过构造器来注入: 2.通过setter方法来注入: 3.通过filed变量来注入: 那么他们有什么区别吗?应该选择哪种方式更好? 代码示例: Con ...

  9. java的依赖注入_Java依赖注入的三种方式

    Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:组织方式注入,setter注入,基于注解的注入. 组织方式注入 组织器注入:保证了一些需要的属性在Bean实例化时就设 ...

  10. SPR4: 依赖注入的三种方式

    4.1 构造器注入 ​ 即在配置文件中,通过bean标签,使用 constructor-arg 子标签实现. 4.2 setter()注入 4.2.1 简介 ​ 依赖注入一词,依赖 指的是bean对象 ...

最新文章

  1. 操作多个表_5_记录匹配不上
  2. rpm oracle 离线,在CentOS中离线安装Oracle之安装准备
  3. [编程题] 按照左右半区的方式重新组合单链表
  4. 小程序 获取当前用户城市信息(省市区)
  5. 入门monkeyrunner7-monkeyrunner demo3 EasyMonkeyDevice+hierarchyviewer +monkeyrunner+截图对比
  6. mysql 定时统计_PHP+MySQL定时数据统计优化
  7. go 递归tree关系_Go实现一个二叉搜索树
  8. IE8 下 select option 内容过长 , 展开时信息显示不全问题解决办法
  9. 9. Linux 磁盘与文件管理系统(inode 目录)
  10. LibreOJ β Round #2 E. 数论只会 GCD
  11. repeater没有数据显示暂无数据,无记录
  12. StoreOnce的未来:惠普是否能真正实现一体化去重
  13. laravel 社会化(联合)登录扩展包(QQ、微信、微博等)
  14. 抖音txt表白html,抖音vbs表白代码的技巧分享
  15. Redis 客户端工具
  16. java做一个客房管理系统定制_基于Java的酒店客房网上管理系统设计与实现
  17. 使用js实时统计text、textarea等输入框的字数,并进行字数限制
  18. 数据存储的各个发展阶段
  19. 学籍管理系统(C语言版)
  20. Bugku 哥哥的秘密

热门文章

  1. 嵌入式项目-----环境搭建--快速上手
  2. 初学者创建个人网站如何选择服务器
  3. 【微信公众号开发】公众号基本配置 token 验证失败
  4. 关于Object和Objects
  5. 【决策单调性的动态规划】noi2009诗人小G
  6. faster-rcnn详解(rpn,损失函数)
  7. MATLAB实现贝叶斯分类器
  8. c++ fstream参数_初学C++ fstream
  9. Pytorch损失函数(nn.L1Loss、nn.SmoothL1Loss、nn.MSELoss 、nn.CrossEntropyLoss、nn.NLLLoss)
  10. 120.《vue3.0 最全详细总结+案例》