深入了解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容器的设计和实现

原文地址:https://www.cnblogs.com/lvcongblog/p/10288336.html