深入了解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容器核心流程以及运作原理