Spring IOC(及DI)

Posted z-sm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring IOC(及DI)相关的知识,希望对你有一定的参考价值。

IOC (Inversion Of Control,控制反转)与DI(Dependency Injecion,依赖注入)

用于对象间解耦,如在以前若对象A依赖B则需要在A中负责B的创建初始化等工作,现在有了IOC容器(如Spring的)专门负责对象的创建等生命周期的管理,A中只要声明一个B对象就可使用而不再需要负责初始化B(@Autowired等)。“反转”体现在A获得依赖对象B的过程由之前的主动行为变成了被动行为,即获得依赖对象的过程“反转了”。

IOC主要通过DI(Dependency Injection,依赖注入)实现,而DI在实现上主要是通过反射完成的,通过反射动态创建对象。

依赖注入的方式:

注解注入:@Autowired、@Resource等用于引用对象的注入,@Value用于基本类型的的注入

setter注入

构造器注入

IOC与DI的区别:前者表示将对象的创建等生命周期交由特定容器如Spring容器管理,后者表示在容器创建对象的过程中把对象依赖的属性注入(赋值)到该对象中。

 

更多可参阅:

https://blog.csdn.net/ivan820819/article/details/79744797 

https://blog.csdn.net/javazejian/article/details/54561302

 

 

 

详情可参阅:https://blog.csdn.net/javazejian/article/details/54561302

 

以上是关于Spring IOC(及DI)的主要内容,如果未能解决你的问题,请参考以下文章

小编Spring是什么spring容器IOC和DI

Spring总结_04_IoC与DI

Spring————java的反射机制,Spring的IOC和DI

Spring系列之AOP的原理及手动实现

JavaWeb_(Spring框架)Spring中IoC与DI概念入门

Spring之IOC原理及代码详解