springboot中依赖注入和控制反转
spring

之前有看过《spring boot 企业级应用 开发实战》(由于工作需要也是最近几个月才接触java和sringboot),其中对于依赖注入和控制反转的理解和认识还不够清晰,感觉在理解层面上是同一件事,秉承“折腾”的精神,撸了几本书,同时反过来再来回顾这个问题,有点感触,所以记录下。

虽然 Java 提供了强大以及及其丰富的开发功能,但是缺乏组织基本构建块成为一个完整系统的方法,而此时 Spring IoC (Inversion of Control)组件能够通过提供正规化的方法来组合不通的组件,并使其能够成为一个完整可用的的应用。开发人员无须手动处理对象的依赖关系,而是交给了 Spring 容器去管理。

那么“依赖注入”与“控制反转”究竟有啥联系和区别?

“依赖注入”和“控制反转”实际上是一个事物的两种不同说法,本质上是一回事。

“依赖注入”是一个程序设计模式和架构模型,在技术上来讲可以理解为是一个“控制反转”的特殊实现。依赖注入是指一个对象应用另一个对象来提供一个特殊能力。例如:把一个数据库的连接以参数的形式传到一个对象的结构方法里。而不是在那个对象内部自行创建一个连接。在代码层面的实现,本人理解其实就是将一个类实例的入口传递到调用类的参数中,而不是在调用类中通过 new 生成一个实例,参数也算是签名的一个描述,通过此描述已经将对象之间的依赖关系关联起来了。

”依赖注入“和”控制泛珠“的本质思想就是把类的依赖从内部转换到外部以减少依赖。

”控制反转“是关于一个对象如何获取它所依赖的对象的引用过程,而这个过程体现为”谁来传递依赖的引用“的这个职责的”反转“。

如果有理解偏差还望大家多多指导!!!

暂无评论