spring依赖注入的好处以及三种注入的方式

时间:2022-07-07 14:20:32

spring依赖注入的好处

依赖注入框架——其实就是在使用类似反射的机制!!不让对象 new 出来,就降低了依赖!

这些大型框架除了 所谓的“依赖注入”之外,还有 调用拦截(AOP)!

那些大型框架具备 “依赖注入”,AOP(调用拦截),对象生命周期的控制,其他的对象控制,还有有利于 各种资源的整合!!

个人认为,大型框架在单纯的机制上跟反射没什么,只不过是,它整合的东西多.要做到协调性,还是需要大量研究的.所以,单纯的说机制,却是没什么高深的.如果说协调性,那不是一个人可以三天两早晨做的非常完美的.要协调资源.协调用户感受,协调处理数据关乎到其它软件的底层了.比如数据库之类的.


spring依赖注入的三种方式
Setter 注入:
对于习惯了传统 javabean 开发的程序员,通过 setter 方法设定依赖关系更加直观。
如果依赖关系较为复杂,那么构造子注入模式的构造函数也会相当庞大,而此时设值注入模式则更为简洁。
如果用到了第三方类库,可能要求我们的组件提供一个默认的构造函数,此时构造子注入模式也不适用。
 
构造器注入:
在构造期间完成一个完整的、合法的对象。
所有依赖关系在构造函数中集中呈现。
依赖关系在构造时由容器一次性设定,组件被创建之后一直处于相对“不变”的稳定状态。
只有组件的创建者关心其内部依赖关系,对调用者而言,该依赖关系处于“黑盒”之中。

接口注入:
接口注入模式因为历史较为悠久,在很多容器中都已经得到应用。但由于其在灵活性、易用性上不如以上两种注入模式,因而在 IOC 的专题世界内并不被看好。