`
kidiaoer
  • 浏览: 818629 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Spring IoC控制反转总结

阅读更多
Spring IoC控制反转总结

    IoC(Inversion of Control)经常称为控制反转或是依赖注入(Dependence Injection)。通俗的讲就是若需要在具体的应用程序中需要创建一个对象的话,我们不用自己去通new方法生成需要的对象,而是通过spring程序包提供的bean工厂为我们生产这样的一个对象。
    在IoC模式下,应用程序不负责创建对象,但是需要描述创建它们的方式。采用IoC在具体的程序代码中不直接与对象和服务连接,但需要在配置文件中描述哪一个组件需要哪一项服务,由容器负责将这些联系在一起。
    关于spring之IoC常见问题点的分析总结:
    1、工厂方法模式与IoC的实现方面差异。
    IoC 采用配置文件来获取具体目标对象的实现,提高了改变要选择的目标对象的灵活性。在工厂方法模式中,会出现以硬编码方式出现目标对象的实现类(采用可配置化的工厂类可以避免硬编码,但是也会带来额外的维护负担)。Spring框架会对IoC的XML配置文件中的各个配置项目进行解析,然后利用Java的“反射”技术,根据在XML配置文件中给出的类名生成相应名称的类对象实例。另外,工厂方法在组件类的实现形式和对象实例的产生模式等方面也存在一定的缺陷。
    2、是否所有的对象都交给IoC来生产。
    如果需要将组件交给spring管理那就用ioc,如果不想让spring管理那可以随时new。换言之,如果组件会经常修改采用IoC比较好,改变较少用new。一般是在组件出现重用、或用到外部资源的时候,开始考虑使用IoC。
    3、 IoC主要的优点缺点分析。
    优点分析:因为把对象生成放在了XML里定义,所以当需要换一个实现子类将会变的比较简单(一般这样的对象都是基于某种接口实现的),只需要修改XML就可以了,这样可以实现对象的“热插拨”效果,也会方便测试及配置维护。
    缺点分析:(1)生成一个对象的步骤变复杂了(基于IDE的支撑操作逐渐变得简单),不习惯该方式的话,会觉得有点别扭与不直观。(2)因为对象的创建是采用的反射机制,所以在效率上有些损耗(经SUN改良优化后,用反射方式来生成对象和一般new对象的方式,在速度方面的差异在逐步减小)。但相对于IoC提高的维护性和灵活性来说,这点损耗可以忽略不记,除非在对某对象的生成在效率方面要求特别苛刻例外。(3)在IDE进行重构操作的支持较差,如果对类进行改名等操作,还需要手动修改去XML文件之间的匹配关系,属于采用XML方式的不便之处。
    Spring通过控制反转(IoC)促进了松耦合。当应用了 IoC,一个对象依靠的其它对象会通过被动的方式传送进来,而不是这个对象自己创建或者查找依靠对象。不是对象从容器中查找依靠,而是容器在对象初始化时不等对象请求就主动将依靠传送给它。阅网认为IOC更适合理解为一种设计模式。一方面可以理解为控制权的转移:由传统的在程序中控制依赖转移到由容器来控制;另外是依赖注入:将相互依赖的对象进行分离、解耦合,在Spring配置文件中描述他们之间的依赖关系,他们的依赖关系只在使用的时候才建立。
	
	
分享到:
评论

相关推荐

    Spring IOC 控制反转

    ### Spring IOC控制反转详解 #### 一、Spring框架简介 Spring框架是一个开源的Java平台,提供了全面的基础架构支持,让开发者能够轻松地开发出松耦合的应用程序。它通过依赖注入(Dependency Injection, DI)和...

    spring IOC控制反转 xmind

    spring IOC控制反转 spring IOC控制反转 spring IOC控制反转

    helloIoc.zip spring ioc控制反转简单测试代码

    Spring框架的核心特性之一就是依赖注入(Dependency Injection,简称DI),它通过控制反转(Inversion of Control,简称IOC)实现。这个"helloIoc.zip"压缩包包含的是一组用于演示Spring IOC基本概念和使用的测试...

    springIOC控制反转 依赖注入实例

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它改变了传统Java应用程序中对象的创建和管理方式。在传统的程序设计中,我们通常手动创建对象并管理它们之间的依赖关系,而在Spring中,这些...

    Spring IOC控制反转 1

    **Spring IOC控制反转详解** 在Java开发中,Spring框架的核心特性之一就是IOC(Inversion of Control,控制反转),它改变了传统程序设计中的对象依赖管理方式,使得开发者可以更专注于业务逻辑,而不是对象的创建...

    springIoc实现原理

    Spring Ioc(Inversion of Control,控制反转)是Spring框架的核心特性之一,它改变了传统应用程序中对象的创建和管理方式。在传统的软件设计中,对象的创建和依赖关系的维护通常由代码自身来完成,而在Spring Ioc中...

    Spring中使用Ioc控制反转

    ### Spring框架中的IoC控制反转详解 #### 一、IoC概述 控制反转(Inversion of Control,简称IoC)是一种设计思想,在Spring框架中,它主要用来解决对象依赖问题。传统的面向对象编程中,对象之间的依赖关系由对象...

    Spring框架IoC控制反转.pdf

    【Spring框架IoC控制反转】 一、Spring框架是什么 Spring框架是Java开发中的一款轻量级框架,诞生于2003年,旨在简化企业级应用的开发复杂性。Spring的核心理念包括控制反转(IoC)和面向切面编程(AOP)。作为一...

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

    **Spring技术--IOC控制反转** 在Java开发领域,Spring框架以其强大的功能和广泛的应用而闻名。其中,IOC(Inversion of Control,控制反转)是Spring的核心特性之一,它改变了传统对象创建和管理的方式,实现了依赖...

    实验一 Springioc基本操作.docx

    Spring IOC(Inversion of Control,控制反转)是一种软件设计模式,它将对象的创建和管理交给容器,实现了对象之间的解耦合。 SpringIOC是Spring Framework中的核心组件之一,负责管理应用程序中的对象、依赖关系和...

    Spring IoC加载流程讲解

    IoC 控制反转 IoC(Inversion of Control)是指在软件设计中,将对象实例的控制权从代码控制剥离到容器控制。这样做的目的是为了降低耦合度,提高系统的灵活性和可维护性。在 Spring 中,我们使用 XML 文件来配置...

    spring ioc和aop原理流程图(详细)

    Spring 框架是Java开发中的核心框架,它主要由两个关键部分组成:IOC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)。这两个概念是Spring框架的核心特性,极大地简化了企业...

    SpringIoc示例代码

    Spring IOC,全称Inversion of Control,即“控制反转”,是Spring框架的核心特性之一。在传统的Java应用程序中,对象的创建和管理通常由开发者自己控制。而在Spring IOC中,这种控制权被反转,对象的创建、初始化、...

    Spring IOC.pdf

    Spring IOC,即Spring控制反转,是Spring框架的核心特性之一。控制反转(Inversion of Control,简称IoC)是一种设计原则,用于减少代码间的耦合,提高系统模块化和代码的重用性。在Spring框架中,IOC具体体现在对...

    spring ioc思维导图源文件

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性之一,它允许开发者将对象的创建和管理交给Spring容器来处理,从而使代码更加松耦合,更易于测试和维护。下面将详细介绍Spring IOC的基本概念、...

    IoC Spring 控制反转

    ### IoC Spring 控制反转详解 #### 一、IoC概念与重要性 在深入了解Spring框架之前,我们首先需要理解“控制反转”(Inversion of Control,简称IoC)的概念。IoC是一种设计原则,旨在减少组件之间的耦合度,提高...

    SpringIOC经典Demo

    Spring IOC(Inversion of Control,控制反转)是Spring框架的核心特性,它极大地简化了Java应用的开发,通过将对象的创建和管理交由Spring容器来处理,开发者可以更专注于业务逻辑。下面,我们将深入探讨Spring IOC...

    Java仿Spring框架IOC控制反转利用反射简单实现(源码)

    Java中的控制反转(IOC,Inversion of Control)和Spring框架是现代企业级应用开发的核心概念。IOC使得应用程序的组件之间解耦,提高了代码的可测试性和可维护性。本篇文章将详细探讨如何通过反射机制来实现一个简单...

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

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

    springioc和spring aop

    Spring框架是Java开发中不可或缺的一部分,它通过提供两种核心特性——控制反转(IoC)和面向切面编程(AOP)来简化应用的构建。理解并掌握这两种技术对于任何Java开发者来说都至关重要。 **控制反转(IoC)**,也...

Global site tag (gtag.js) - Google Analytics