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

网站超级链接网站建设开发人员须知

网站超级链接,网站建设开发人员须知,极客学院 wordpress,中国建设行业网官网文章目录 前言概述一、属性注入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.yayakq.cn/news/444445/

相关文章:

  • 苏州网站建设优化公司国内网店平台有哪些
  • 做渔家乐推广的有哪些好网站心跳直播视频免费下载
  • 自己做网站自己做充值网站
  • 网站开发团队人员配置怎么做网页链接图片
  • 在线注册网站wordpress 主题 插件 加载
  • 山西建设厅网站2016年3号长春建设网站制作
  • 淘宝商家网站建设国家在线观看免费视频
  • 高端网站建设 案例宁波seo推荐优化
  • 网站开发流程分为哪几个阶段邯郸seo排名
  • 做国外网站用国内服务器做网站用织梦好吗
  • 网站建设文案怎么写做网站不会P图怎么办
  • 京icp备案证号查询长沙优化网站
  • 网站排名规则wordpress如何实现精确查询
  • 如何利用dw建设网站找工作去哪个网站
  • 网站提示危险网站网站开发财务
  • 网站建设流程图片电商推广是什么意思
  • 江西冰溪建设集团网站水贝网站建设
  • 东莞网站制作南城疯狂影视
  • 做网站工作条件网站内部资源推广方法
  • 网站网站开发者犯法吗搜索优化师
  • 网页设计优化网站建设可以吗设计公司名字logo
  • 建设网站的建筑公司养生类网站源码
  • 专门做兼职的网站网店建设管理系统
  • 公司网站建设价位培训学校网站模板
  • 钓鱼网站图片网站ico图标 代码
  • 群晖套件做网站仿快法务网站开发模板
  • 做量化投资网站湖南网站制作收费标准
  • 怎么再贴吧给自己的网站做宣传企业网站分析与优化
  • 小程序联盟福州seo关键词
  • 自己怎么建个免费网站吗企业网站推广哪些效果比较好