当前位置: 首页 > article >正文

为什么在Spring应用中不建议使用属性注入(Field Injection)

概述

在本文中,我们将探讨为什么不建议使用属性注入(Field Injection),以及我们可以使用哪些替代方法和推荐的用法。

依赖注入

简单讲,对象使用其依赖对象而不需要定义或创建它们的过程称为依赖注入。 其是Spring框架的核心功能之一。

以下描述是根据Spring 官方文档翻译过来的。

依赖注入 (DI) 是一个过程,对象仅通过构造函数参数、工厂方法的参数或对象实例构造后设置的属性来定义其依赖项(即与它们一起工作的其他对象)。 从工厂方法返回。 然后,容器在创建 bean 时注入这些依赖项。 这个过程从根本上来说是 bean 本身的逆过程(因此得名“控制反转”),通过使用类的直接构造或服务定位器模式自行控制其依赖项的实例化或位置。

采用 DI 原则,代码更加清晰,并且当对象提供其依赖项时,解耦更加有效。 该对象不会查找其依赖项,也不知道依赖项的位置或类。 因此,您的类变得更容易测试,特别是当依赖项位于接口或抽象基类上时,这允许在单元测试中使用存根或模拟实现。

依赖注入有三种方式:

  • 构造器注入(Constructor injection)
  • Setter注入(Setter injection)
  • 属性注入(Field injection)

其中属性注入一般会使用 @Autowired 注解将依赖对象直接注入到类中。 尽管这可能是最简单的方法,但是它可能会导致潜在的问题。

在最新的Spring 官方文档中,已经不再提供字段注入(Field i

http://www.lryc.cn/news/2414430.html

相关文章:

  • 本地代码与托管代码
  • mysqlbinlog -v与-vv --base64-output 与不加的区别
  • 海外代理IP如何获取?
  • 个人博客系统源码 溯雪Sxlog轻博客源码 PHP开源 简洁干净轻博客源码
  • WinPE能破解Windows的密码,这样Windows就不安全吗?
  • 十种不同风格的网站导航菜单
  • nagios安装教程
  • jQuery.validationEngine.js学习
  • 网站建设经验分享:如何进行网站内容更新与维护?
  • MYSQL入门-mysql的下载与安装(1)
  • 文件粉碎机(file pulverizer) v4.2 怎么用
  • 马士兵servlet、jsp、oracle视频地址
  • winform控件之maskedTextBox
  • 2022年网络安全面试题总结
  • linux pci串口驱动下载,PCI串行口驱动下载_PCI串行口驱动官方下载-太平洋下载中心...
  • 谏言工信部:网站备案系统miibeian.gov.cn实在难用!
  • 《益智之迷:战神的挑战》资料与心得集合
  • 2.springboot配置jpa
  • php怎么弄钓鱼,QQ_PHP钓鱼源码
  • 探察MFC中框架宏(RUNTIME_CLASS等)的秘密
  • 极域电子教室—解控
  • 理清contactsprovider
  • Fireworks MX 2004 对象的变形(转)
  • Weblogic安装部署步骤
  • WIn10 64位安装windows Mobile 设备中心不能启动或自动退出
  • Linux命令之chmod命令
  • VC++常用数据类型及其操作详解
  • 【Linux】红帽子安装过程超详细(学生教学用)
  • OpenCV机器视觉-HSV颜色模型
  • 多线程同步的方法