`
Fred_Han
  • 浏览: 148192 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring及其优点

    博客分类:
  • WEB
 
阅读更多

大部分项目都少不了Spring的身影,为什么大家对他如此青睐,而且对他的追捧丝毫没有减退之势呢

 

Spring是什么:

Spring是一个轻量级的DI和AOP容器框架。

说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是,Spring是非侵入式的,基于spring开发的应用一般不依赖于spring的类。

DI:称作依赖注入(Dependency Injection),和控制反转一个概念,具体的讲,当一个角色需要另外一个角色协助的时候,在传统的程序设计中,通常有调用者来创建被调用者的实例。但是在spring中创建被调用者将不再有调用者完成,因此叫控制反转。创建被调用对象有Spring来完成,在容器实例化对象的时候主动的将被调用者(或者说它的依赖对象)注入给调用对象,因此又叫依赖注入。

AOP:Spring对面向切面编程提供了强有力的支持,通过它让我们将业务逻辑从应用服务(如事务管理)中分离出来,实现了高内聚开发,应用对象只关注业务逻辑,不再负责其它系统问题(如日志、事务等)。Spring支持用户自定义切面。

面向切面编程是面向对象编程的有力补充。面向对象编程将程序分成各个层次的对象,面向切面的程序将运行过程分解成各个切面。AOP是从运行程序的角度去考虑程序的结构,提取业务处理过程的切面,OOP是静态的抽象,AOP是动态的抽象,是对应用执行过程的步骤进行抽象,从而获得步骤之间的逻辑划分。

容器:Spring是个容器,因为它包含并且管理应用对象的生命周期和配置。如对象的创建、销毁、回调等。

框架:Spring作为一个框架,提供了一些基础功能,(如事务管理,持久层集成等),使开发人员更专注于开发应用逻辑。

 

看完了Spring是什么,再来看看Spring有哪些优点

1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑

2.可以提供众多服务,事务管理,WS等。

3.AOP的很好支持,方便面向切面编程。

4.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等

5.Spring DI机制降低了业务对象替换的复杂性。

6.Spring属于低侵入,代码污染极低。

7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部

      

 

分享到:
评论
1 楼 shuanggui1990 2016-10-25  
   

相关推荐

    Spring实现原理及IoC容器的优点

    本篇文章将深入探讨Spring实现原理,阐述IoC容器的优点,并指导如何在Eclipse中创建一个Spring的Web应用。 首先,让我们理解Spring的核心——IoC容器。IoC是一种设计模式,它改变了对象获取依赖的方式。在传统的...

    Spring+in+action+中文版(第4版)

    - **2.2.2 依赖注入的优点**:讨论依赖注入模式的优点及其对代码可测试性和可维护性的影响。 #### 2.3 Spring 的事务管理 - **2.3.1 Spring 事务管理概述**:介绍Spring如何实现事务管理。 - **2.3.2 事务管理的...

    详解JSP 中Spring工作原理及其作用_.docx

    Spring 框架在 JSP 中的工作原理及其作用 Spring 框架是一个流行的 Java 框架,广泛应用于 Web 应用程序开发。它提供了一种简洁、灵活、可重用的方式来开发基于 Java 的应用程序。本文将详解 Spring 框架在 JSP 中...

    Spring所有版本jar包

    根据提供的文件信息,本文将详细介绍与“Spring所有版本jar包”相关的知识点,包括Spring框架的基本概念、Spring MVC的概述以及如何查找和下载不同版本的Spring及其相关组件的JAR包。 ### 一、Spring框架简介 ...

    spring-roo-docs

    - **优点:** - 更大的灵活性:可以自由地调整代码结构。 - 更强的定制能力:可以完全控制应用程序的各个方面。 - **缺点:** - 开发效率降低:需要手动编写原本由SpringRoo自动生成的代码。 - 维护成本增加:...

    SPRING2.0中文文档

    Spring 2.0强化了与Java EE规范的集成,包括JTA事务管理、EJB3集成以及对JavaServer Faces的支持,使得开发者可以在不牺牲Spring优点的前提下,充分利用Java EE的功能。 总结,这份中文版的Spring 2.0技术文档全面...

    Spring-android jar包及doc

    1. **依赖注入(Dependency Injection,DI)**:Spring的核心特性之一,允许开发者通过XML配置或注解来管理对象及其依赖关系,避免硬编码,提高代码的可测试性和可维护性。在Android应用中,可以利用Spring的DI功能...

    官方原版完整包 spring-framework-5.3.2.RELEASE.zip

    其中,IoC容器是Spring的基础,它管理着应用中的对象及其依赖关系,使得代码更加松耦合,易于测试和维护。AOP则是Spring提供的一种处理横切关注点的方式,比如日志、事务管理等,可以被模块化并独立于业务逻辑。 在...

    spring配置jar包详解

    Spring框架的主要优点之一就是其模块化的结构,允许开发者仅引入需要的组件,而不是整个框架,从而减小了应用程序的体积。下面我们将详细讨论Spring框架的各个jar包及其功能。 1. **spring.jar**: 这是一个包含...

    Spring4--Spring4整合mybatis3

    将Spring与Mybatis整合,可以充分利用两者的优点,实现灵活、高效的数据库访问管理。下面我们将深入探讨"Spring4--Spring4整合mybatis3"的相关知识点。 1. **Spring4的IoC(Inversion of Control,控制反转)和AOP...

    mybatis+struts+spring搭建好的框架

    Spring提供了依赖注入(DI)和面向切面编程(AOP)功能,可以管理应用中的各种对象及其相互关系。此外,Spring还包含了数据访问、Web、事务管理等多种模块,使得开发者能够轻松地集成其他框架,如MyBatis和Struts。 ...

    Spring理论知识.xmind

    以思维导图的形式对Spring的基础理论知识进行一个汇总,思维导图中包含Spring简介、背景、特征、特点、优点、缺点及其Spring版本迭代做了详细介绍。

    实验一 Springioc基本操作.docx

    Spring IOC 的优点包括: * 低耦合:Spring IOC 使得对象之间的依赖关系变得更加灵活和松散。 * 高内聚:Spring IOC 使得对象之间的依赖关系变得更加紧凑和有序。 * 可重用性:Spring IOC 使得对象变得更加可重用...

    Spring框架小结

    下面将详细探讨这些核心概念及其在Spring中的实现。 ### 控制反转与依赖注入 #### 控制反转(IoC) 控制反转是一种设计原则,用于降低代码间的耦合性。传统软件设计中,组件之间通过直接实例化其他组件的方式进行...

    java spring框架学习资料 pdf

    Spring框架是Java企业级应用开发的重要工具,它的主要优点在于模块化设计,能够灵活地支持各种应用需求。在IoC容器部分,你会了解到如何通过配置文件或注解来管理对象及其依赖关系,实现松耦合,提高代码的可测试性...

    spring面试常见问题

    Spring框架有几个关键的优点,包括: 1. 轻量级:Spring框架本身非常轻巧,核心模块的大小大约为2MB,便于整合和使用。 2. 控制反转(IOC):Spring通过控制反转的技术实现了松耦合,这是指对象间的依赖关系由容器...

    Spring boot 多模块

    这个精简的例子展示了如何有效地构建一个Spring Boot应用,下面我们将详细讨论这些模块的作用及其相互关系。 1. **父模块(Parent)**: 父模块通常用于定义项目的共用依赖管理,包括版本控制和通用的插件配置。在...

    Spring + Hibernate + Spring mvc +Ajax 整合

    Spring与Hibernate的整合使得开发者能够充分利用两者的优点。Spring管理Hibernate SessionFactory,提供事务控制,并能通过声明式事务管理简化事务处理。此外,Spring还支持基于注解的Hibernate配置,使代码更加简洁...

Global site tag (gtag.js) - Google Analytics