`
libran
  • 浏览: 193333 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论
阅读更多

IoC简介

        IOC是一种新的设计模式,即IOC模式,系统中通过引入实现了IOC模式的IOC容器,即可由IOC容器来管理对象的生命周期、依赖关系等,从而使得应用程序的配置和依赖性规范与实际的应用程序代码分开。其中一个特点就是通过文本的配件文件进行应用程序组件间相互关系的配置,而不用重新修改并编译具体的 Java代码。 
        当前比较知名的IOC容器有:Pico Container、Avalon 、Spring、JBoss、HiveMind、EJB等。 
        在上面的几个IOC容器中,轻量级的有Pico Container、Avalon、Spring、HiveMind等,超重量级的有EJB,而半轻半重的有容器有JBoss,Jdon等。 
        可以把IoC模式看做是工厂模式的升华,可以把IoC看作是一个大工厂,只不过这个大工厂里要生成的对象都是在XML文件中给出定义的,然后利用Java 的“反射”编程,根据XML中给出的类名生成相应的对象。从实现来看,IoC是把以前在工厂方法里写死的对象生成代码,改变为由XML文件来定义,也就是把工厂和对象生成这两者独立分隔开来,目的就是提高灵活性和可维护性。 
        IoC中最基本的Java技术就是“反射”编程。反射又是一个生涩的名词,通俗的说反射就是根据给出的类名(字符串)来生成对象。这种编程方式可以让对象在生成时才决定要生成哪一种对象。反射的应用是很广泛的,象Hibernate、String中都是用“反射”做为最基本的技术手段。
在过去,反射编程方式相对于正常的对象生成方式要慢10几倍,这也许也是当时为什么反射技术没有普通应用开来的原因。但经SUN改良优化后,反射方式生成对象和通常对象生成方式,速度已经相差不大了(但依然有一倍以上的差距)。 
        IoC最大的好处是什么?因为把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象都是现实于某种接口的),只要修改XML就可以了,这样我们甚至可以实现对象的热插拨(有点象USB接口和SCIS硬盘了)。 
        IoC最大的缺点是什么?(1)生成一个对象的步骤变复杂了(其实上操作上还是挺简单的),对于不习惯这种方式的人,会觉得有些别扭和不直观。(2)对象生成因为是使用反射编程,在效率上有些损耗。但相对于IoC提高的维护性和灵活性来说,这点损耗是微不足道的,除非某对象的生成对效率要求特别高。(3)缺少IDE重构操作的支持,如果在Eclipse要对类改名,那么你还需要去XML文件里手工去改了,这似乎是所有XML方式的缺憾所在。

本文转自
http://blog.sina.com.cn/s/reader_41664774010009ql.html   作者:yangxc

分享到:
评论

相关推荐

    1 Spring IOC简介.txt

    dubbo-admin-2.4.5.war亲测下载不可用,不要去下载,都是骗积分的

    04-IoC简介-控制翻转概念(IoC)

    控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找...

    学习Spring笔记_IoC(控制反转)简介

    **Spring框架中的IoC(控制反转)概念** 在软件开发中,IoC(Inversion of Control,控制反转)是一种设计模式,它将对象的创建和管理责任从代码中剥离出来,交由一个容器来处理。Spring框架是Java平台上的一个核心...

    spring IOC简介

    介绍springIOC

    Spring IoC简单示例-XML配置-Maven构建

    **Spring IoC简介** Spring框架的核心特性之一是Inversion of Control(IoC),也被称为依赖注入(Dependency Injection)。IoC是一种设计模式,它将对象之间的依赖关系从代码中解耦出来,转交给一个外部容器(在...

    spring技术--IOC控制反转课件.ppt

    ### IOC简介 控制反转(IOC)的概念是指,原本由对象自身控制的依赖关系现在被转移到外部容器来控制。在Spring中,这通常通过依赖注入来实现。依赖注入意味着,对象所需的依赖不再由对象自己创建,而是由Spring容器...

    深入理解java的spring-ioc的使用.docx

    #### 一、Spring-IoC简介 Spring框架的核心特性之一是IoC(Inversion of Control,控制反转),它改变了传统编程中的对象创建和管理方式。在传统的面向对象编程中,一个类会负责创建并管理其依赖的对象。而在Spring...

    基于IOC容器的工作流引擎的设计

    IOC简介 IOC(Inversion of Control)即反转控制,是一种新兴的编程模式。该模式允许在运行时动态配置系统中各构件之间的关系,从而使各个构件能够在运行时协同工作。利用IOC模式,可以有效地减少构件间的耦合度,...

    spring-ioc学习

    spring-ioc学习 新手可以下过来学习下, spring-ioc简介

    Spring2.5 IOC的简单实现

    IOC 简介** IOC 是一种设计模式,它将对象的创建和管理交给容器处理,使得代码更加松耦合。Spring 框架通过 XML 配置文件或注解方式来实现 IOC,让开发者能够声明组件及其依赖关系,而无需手动实例化对象。 **2. ...

    【ASP.NET编程知识】.NET Unity IOC框架使用实例详解.docx

    1. **IOC 简介**: 控制反转(IOC)的核心思想是不再由代码直接创建对象,而是通过配置文件或代码来描述对象及其依赖关系。当需要使用某个对象时,由IOC容器负责创建并注入。依赖注入(DI)是实现IOC的一种方式,它...

    Spring框架控制反转IOC和依赖注入DI详解

    入门程序和IOC简介二.IOC-控制反转三.DI-依赖注入四. IOC和DI五.Spring框架使用(IoC)六.注入类型的三种方式 一.入门程序和IOC简介 依赖注入或控制反转的定义中,调用者不负责被调用者的实例创建工作,该工作由...

    Spring简介+IOC(理论).ppt

    Spring简介+IOC(理论 Spring简介+IOC(理论 Spring简介+IOC(理论 Spring简介+IOC(理论 Spring简介+IOC(理论 Spring简介+IOC(理论

    .NET Unity IOC框架使用实例详解

    1. **IOC简介** - 控制反转(IOC)是设计模式中的一个重要原则,它改变了传统程序设计中对象创建和管理的方式。在IOC中,不再由对象直接创建其依赖的对象,而是由一个外部容器(如Unity框架)负责创建和管理这些...

    Spring Ioc 注解 依赖注入

    #### 一、Spring框架简介 Spring框架是由Rod Johnson创建的一个开源项目,最初是为了解决企业级应用开发中的复杂性问题而诞生的。Spring框架的核心特性包括IoC(Inversion of Control,控制反转)、AOP(Aspect ...

    spring_ioc框架学习文档

    #### 一、Spring IOC框架简介 Spring框架是一个开源的企业级Java应用框架,它提供了丰富的功能来简化企业应用开发。其中,Inversion of Control (IoC)容器是Spring的核心特性之一,它负责管理应用程序的对象及其...

    Spring的IoC容器初始化源码解析

    ##### 3.1 BeanFactory简介 `BeanFactory`是最基本的IoC容器实现,它主要负责创建和管理bean的生命周期。BeanFactory提供了一系列基础方法,例如获取bean、判断bean的存在性、判断bean是否为单例等。它是所有Spring...

    spring_IoC:Spring IoC 演示

    ### Spring IoC简介 IoC,即控制反转,其核心思想是将对象的创建权交给框架,而不是由对象自身来创建。在Spring中,IoC通过依赖注入(Dependency Injection, DI)来实现。DI允许Spring容器在运行时自动为对象提供所...

    simple-springioc:这是一个简单的SpringIOC

    1. Spring IOC简介 Spring IOC是Spring框架的核心,它的主要思想是将对象的创建和管理权交给容器,开发者只需要定义对象的配置信息,由容器负责对象的创建、初始化以及依赖关系的装配。这样可以降低代码间的耦合度,...

Global site tag (gtag.js) - Google Analytics