深入了解spring IOC容器

Posted lvcongblog

tags:

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

要理解这个得先了解控制反转的概念,举例如下

加入有一个接口service 有post方法

其有两个实现类如webservice    standaloneservice  

需求是客户端调用post方法来完成操作

如public void dopost(string type){

  service target = new webservice();

  target.post(type);

}

大致如上,如果以后改动,那么就很难的维护,进一步的做法,是用工厂模式来实现

public void dopost(string type){

  service target = serviceFactory.newInstance();

  target.post(type);

}

工厂的具体实现需要一个类,而且还带有一个不太明确的参数,无法很好的显示

用反转模式

public void dopost(service target){

  target.post(type);

}

而参数里面的变量则由ioc容器注入,想用那个具体实现据用那个具体的实现,至于具体的方法都可以放到实现类的里面,这样就实现了高内聚、低耦合

 

jdk反射

 

cglib反射

 

如果想要理解过程,那么就得弄清楚,如何把对象注入到容器中,通过哪种方式把外界配置的信息传进去框架,如何保存,如何转换,如何查找和调用,声明周期如何

一.IOC容器的简介

   依赖注入:另一个称呼是控制反转,把对象的依赖关系交由ioc容器来控制,即对象依赖关系的管理被反转了,并由ioc注入

可以理解为IOC提供了管理javabean的容器,通过ioc模式管理依赖关系,并通过ioc注入和aop增强了javabean这样的pojo的事物管理、生命周期管理等

注入的方式有:setter注入、接口注入、构造注入

二.IOC容器的设计和实现

技术分享图片

以上是关于深入了解spring IOC容器的主要内容,如果未能解决你的问题,请参考以下文章

Spring ioC源码深入剖析Bean的实例化

深入浅出Spring原理及实战「原理分析专题」不看源码就带你剖析IOC容器核心流程以及运作原理

深入springIoC容器的实现

IoC容器的实现( IoC 容器概述和在 Spring 中的应用场景)

Spring01——你应该了解的,有关 IOC 容器的一切

转深入理解DIPIoCDI以及IoC容器