码迷,mamicode.com
首页 > 编程语言 > 详细

深入了解spring(二) IOC容器

时间:2019-01-18 17:20:42      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:管理   pos   instance   调用   bubuko   控制反转   方法   概念   cto   

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

加入有一个接口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容器

标签:管理   pos   instance   调用   bubuko   控制反转   方法   概念   cto   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!