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

陕西网站建设热线百度用户服务中心

陕西网站建设热线,百度用户服务中心,开发公司组织架构图,用sqlite3做网站文章目录 前言概述一、属性注入1.1 实例1.2 优点1.3 缺点 二、Setter注入2.1 实例2.2 优点2.3 缺点 三、 构造方法注入3.1 实例3.2 优点3.3 缺点 四、扩展 前言 IoC和DI是Spring中重要的两个概念,其中IoC指的是控制反转,DI(依赖注入)指的是IoC的具体实现…

文章目录

  • 前言
  • 概述
  • 一、属性注入
    • 1.1 实例
    • 1.2 优点
    • 1.3 缺点
  • 二、Setter注入
    • 2.1 实例
    • 2.2 优点
    • 2.3 缺点
  • 三、 构造方法注入
    • 3.1 实例
    • 3.2 优点
    • 3.3 缺点
  • 四、扩展


前言

IoC和DI是Spring中重要的两个概念,其中IoC指的是控制反转,DI(依赖注入)指的是IoC的具体实现方式。那么DI实现依赖注入有哪些方式呢?这些方式又各自有什么优缺点呢?接下来,让我们一起来看一看。


概述

在Spring中实现依赖注入的常见方式有以下三种:

  1. 属性注入
  2. Setter注入
  3. 构造方法注入

它们的具体使用方式以及优缺点如下。

一、属性注入

属性注入是Spring三种常见注入方法最简单的方式,也算是开发过程中,开发者最喜爱的方式。

1.1 实例

属性注入只需要使用@Autowired修饰,就可以直接获得注入的对象,代码如下:

@Controller
public class UserController {@Autowired  private UserService userService;}

1.2 优点

属性注入的优点就是实现简单,使用简单。

1.3 缺点

  1. 不能注入不可变对象,也就是不能注入final修饰的对象
  2. 兼容性不好,只适合IoC容器
  3. 由于写法简单,也更容易违背单一设计原则

二、Setter注入

2.1 实例

Setter注入需要引入这个对象的set方法,并且用@Autowired修饰。这是Spring前期版本推荐使用的方式,但是由于通用性不好,现在Spring推荐使用的方式是构造方法注入,待会我们会讲到。

@Controller
public class UserController {private UserService userService;@Autowiredpublic void setUserService(UserService userService) {this.userService = userService;}
}

2.2 优点

相比于属性注入,Setter注入更符合单一设计原则,因为每次都只传递了一个对象。

2.3 缺点

  1. 和属性注入一下,Setter注入不能注入不可变对象
  2. 注入的对象可能被修改(因为可能有其他人调用这个set方法)

三、 构造方法注入

3.1 实例

构造方法注入,顾名思义,需要引入对象的构造方法。除此之外,@Autowired在这里可以省略

@Controller
public class UserController {private UserService userService;// @Autowired public UserController(UserService userService) {this.userService = userService;}
}

3.2 优点

  1. 与前两者方式不同,构造方法注入可以注入不可变的对象。这是因为在JavaSE中,创建final修饰的对象时,要么直接赋值,要么在构造方法中赋值,必须满足其一。
  2. 由于构造方法只执行了一次,注入的对象不会被改变。
  3. 可以保证注入对象完全被初始化。
  4. 兼容性更好

3.3 缺点

如果有多个注入会显得比较臃肿,但是出现这种情况我们应该考虑一下当前类是否符合程序的单一设计原则。

四、扩展

除了上诉@Autowired修饰的三种依赖注入以外,还有另外一种注入关键字@Resource

那么@Resource和@Autowired有什么区别呢?

首先,@Autowired来自Spring,@Resource来自jdk;其次,两者使用时设置的参数不同,相比于@Autowired来说,@Resource支持更多的参数设置,例如name设置,根据名称获取Bean;最后,@Autowired可用与上诉三种注入方式,但是@Resource只能用于属性注入和Setter注入,不能用于构造方法注入

http://www.yidumall.com/news/107898.html

相关文章:

  • 做网站优化有必要西安网站外包
  • 做资讯类网站需要特殊资质吗网络推广和网站推广平台
  • 规划网站的总结优化疫情防控 这些措施你应该知道
  • 做网站能拿多少钱信息流广告优化师
  • 唐山建设网站制作链接推广平台
  • 保护环境做网站素材seo管理与优化期末试题
  • 升阳广州做网站公司品牌营销策划与管理
  • 陈村大良网站建设西安网络推广优化培训
  • 日本不良网站正能量大豆制作网站教学
  • 在服务器做网站关键词可以分为哪三类
  • 上海奉贤网站建设西安网络推广公司
  • 建设网站是什么样的百度关键词seo年度费用
  • 网站访问量突然增加化妆品软文推广范文
  • 青岛营销型网站建设叶涛网站推广优化
  • 常州做网站企业个人免费推广网站
  • 泰州网站建设哪家好培训机构在哪个平台找
  • 深圳的网站建设公司排名广告平台
  • 注册上海公司seo整站优化公司持续监控
  • 网站制作完成之后我们便进入了什么阶段汤阴县seo快速排名有哪家好
  • 找南昌网站开发公司百度竞价代运营托管
  • 茌平网站建设搜索引擎优化方法包括
  • 公需科目在哪个网站做百度seo正规优化
  • 济南建行网点seo经验
  • 企业展厅设计公司重庆南昌seo排名外包
  • 成都网站推广外包外贸网站推广费用
  • 罗湖商城网站设计推荐整合营销方案
  • 企业网站的建立方法百度官网认证多少钱一年
  • 做网站架构需要什么步骤优化营商环境条例全文
  • 网站和网页的区别网站关键词搜索
  • 惠州网站建设制作价格seo网站推广全程实例