目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7092.8k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(599)
赞(0)

3.Spring Framework中的IoC/DI

既然要学习一下Spring Framework中对IoC/DI原则的实现,我们无论怎么说都没有官方文档权威。

图怪兽_1678757964181_0

Spring Framework 官方文档对IoC的解释如下,网址: https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#spring-core

image-20230313130315693

图怪兽_1678758382599_0

从Spring Framework官方文档对IoC 容器的解释上可以看出来,如下几点:

  • 强调IoC也叫做DI。(IoC is also known as dependency injection(DI))
  • 官方为了防止IoC 和 IoC Container 名称混淆。更多以DI作为第一名称。而容器叫做IoC Container(IoC容器)
  • 强调IoC绝对不是由IoC容器实例化对象这一点,而是一个过程(process)。从IoC 容器实例化对象,一直到在IoC容器内部注入对象依赖的其他对象的过程。
  • IoC容器实例化对象时有两种方式:通过构造方法和通过工厂设计模式。
  • Spring中使用BeanFactory和ApplicationContext作为IoC容器的接口类型。ApplicationContext是BeanFactory的子接口,功能更加强大。
  • IoC容器内部管理的所有对象统称beans,其中单个对象叫做bean。

下图是官方对DI的解释,网址: https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#beans-factory-collaborators

image-20230313130505125

从Spring Framework官方文档对DI的解释上可以看出来,如下几点:

  • 强调DI也叫做IoC(hence the name,Inversion of Control)。
  • DI是一个过程(process),绝对不是把对象注入到另外一个对象就是DI。其解释和IoC一样,是从实例化对象,到把对象注入到另外对象的过程就是DI。
  • 使用DI可以实现对象解耦,让代码更加清晰。不再需要管理自己所依赖的对象,也不需要知道依赖项的位置和类型。(第二大段英文)
  • DI有两种实现方式:构造注入(Constructor-based dependency injection)和设值注入(Setter-based dependency injection)

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2