当前位置: 网学 > 编程文档 > 其他类别 > 正文

关于spring框架中的ioc的幽默解释

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/12
种情况出现于Avalon Framework。一个组件实现了Servicable接口,就必须实现service方法,并传入一个ServiceManager。其中会含有需要的其它组件。只需要在service方法中初始化需要的Boy。

另外,J2EE中从Context取得对象也属于type 1。

它依赖于配置文件

  1. <container> 
  2. <component name=“kissable“ class=“Boy"> 
  3. <configuration> … </configuration> 
  4. </component> 
  5. <component name=“girl" class=“Girl" /> 
  6. </container> 

IOC type 2:

  1. public class Girl {  
  2. private Kissable kissable;  
  3. public void setKissable(Kissable kissable) {  
  4. this.kissable = kissable;  
  5. }  
  6. public void kissYourKissable() {  
  7. kissable.kiss();  
  8. }  

Type 2出现于Spring Framework,是通过JavaBean的set方法来将需要的Boy传递给Girl。它必须依赖于配置文件。

  1. <beans> 
  2. <bean id=“boy" class=“Boy"/> 
  3. <bean id=“girl“ class=“Girl"> 
  4. <property name=“kissable"> 
  5. <ref bean=“boy"/> 
  6. </property> 
  7. </bean> 
  8. </beans> 

IOC type 3

  1. public class Girl {  
  2. private Kissable kissable;  
  3. public Girl(Kissable kissable) {  
  4. this.kissable = kissable;  
  5. }  
  6. public void kissYourKissable() {  
  7. kissable.kiss();  
  8. }  

这就是PicoContainer的组件 。通过构造函数传递Boy给Girl。

  1. PicoContainer container = new DefaultPicoContainer();  
  2. container.registerComponentImplementation(Boy.class);  
  3. container.registerComponentImplementation(Girl.class);  
  4. Girl girl = (Girl) container.getComponentInstance(Girl.class);  
  5. girl.kissYourKissable();  

原文链接:http://liangthinking.iteye.com/blog/507345

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号