存档: 标签: ‘IOC’

Butterfly Container Introduction

没有评论 2011年5月20日

与上篇文章(Butterfly Scheduling Introduction)一样,这篇文章也是来自于http://butterfly.jenkov.com网站。其实,除了这两个项目之外,这个网站还有Butterfly Web UIButterfly PersistenceButterfly Testing Tools三个小项目,其中Butterfly Container是一个依赖注入容器(IOC)。

它比Spring、Pico、Guice更小,并且更加灵活,更加易于使用。Butterfly Container使用一种简单,灵活,类似于Java的配置语言来代替XML(这段介绍来自于各大开源网站对其介绍),他是其他几个项目的基础。

Butterfly Container和Spring、Pico、Guice一样是一个依赖注入的容器。依赖注入的核心功能就是将变量绑定在一起(wire objects together)。你能够向容器申请一个对象,容器会确保所有的依赖(方法参数,协作对象)都注入到这个对象然后将其返回给你。

如果你对依赖注入不熟悉,你可以看看这篇文章:What is Dependency Injection? 继续阅读…

spring 工厂方法创建bean

没有评论 2010年1月12日

Spring用工厂的方式创建对象: 静态工厂, 实例工厂

静态工厂类, 当使用静态工厂方法构造bean实例时,class属性是包含了静态工厂方法的类,同时还需要属性factory-method指
明创建实例的静态工厂方法名.这个构造的实例并不一定是class属性指明的类的实例.它可以是其它类的实例.
spring在构造实例时会自动调用静态的工厂方法.

继续阅读…

Spring IOC Autowire

没有评论 2010年1月12日

最近开始复习Spring,决定拾起之前学的一点Spring知识,并且深入了解这个框架。看了看【Spring Framework 开发参考手册】,觉得讲的还不错,决定先学习这个手册,掌握一些基础的Spring知识。

Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。autowire一共有五种类型。由于autowire可以针对单个bean进行设置,因此可以让有些bean使用autowire,有些bean不采用。autowire的方便之处在减少或者消除属性或构造器参数的设置,这样可以给我们的配置文件减减肥!

继续阅读…

Spring Inversion of Control

没有评论 2010年1月12日

最近开始复习Spring,决定拾起之前学的一点Spring知识,并且深入了解这个框架。看了看【Spring Framework 开发参考手册】,觉得讲的还不错,决定先学习这个手册,掌握一些基础的Spring知识。

Spring能有效地组织J2EE应用各层的对象。不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现,Service对象无须关心持久层对象的具体实现,各层对象的调用完全面向接口。当系统需要重构时,代码的改写量将大大减少。
上面所说的一切都得宜于Spring的核心机制,依赖注入。依赖注入让bean与bean之间以配置文件组织在一起,而不是以硬编码的方式耦合在一起。
继续阅读…

Spring IOC学习笔记

没有评论 2010年1月6日

最近开始复习Spring,决定拾起之前学的一点Spring知识,并且深入了解这个框架。看了看【Spring Framework 开发参考手册】,觉得讲的还不错,决定先学习这个手册,掌握一些基础的Spring知识。

在Spring中,那些组成应用的主体(backbone)及由Spring IoC容器所管理的对象被称之为bean。简单地讲,bean就是由Spring容器初始化、装配及被管理的对象,除此之外,bean就没有特别之处了(与应用中的其他对象没有什么区别)。而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。
继续阅读…

Spring IOC的介绍

没有评论 2009年6月23日

通常,应用代码需要告知容器或框架,让它们找到自身所需要的类,然后再由应用代码创建待使用的对象实例。因此,应用代码在使用实例之前,需要创建对象实例。然而,IoC模式中,创建对象实例的任务交给IoC容器或框架(Spring的配置文件),使得应用代码只需要直接使用实例,这就是IoC。相对IoC 而言,“依赖注入”的确更加准确的描述了这种设计理念。所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中。
任何重要的系统都需要至少两个相互合作的类来完成业务逻辑。通常,每个对象都要自己负责得到它的合作(依赖)对象。你会发现,这样会导致代码耦合度高而且难于测试。使用IoC,对象的依赖都是在对象创建时由负责协调系统中各个对象的外部实体提供的,这样使软件组件松散连接成为可能。
(1)应用组件不需要在运行时寻找其协作者,因此更易于开发和编写应用;
  (2)由于借助于IoC容器管理组件的依赖关系,使得应用的单元测试和集成测试更利于展开;
  (3)通常,在借助于IoC容器关系业务对象的前提下,很少需要使用具体IoC容器提供的API,这使得集成现有的遗留应用成为可能。
  因此,通过使用IoC能够降低组件之间的耦合度,最终,能够提高类的重用性,利于测试,而且更利于整个产品或系统集成和配置
继续阅读…