大部分项目都少不了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部分或全部
分享到:
相关推荐
本篇文章将深入探讨Spring实现原理,阐述IoC容器的优点,并指导如何在Eclipse中创建一个Spring的Web应用。 首先,让我们理解Spring的核心——IoC容器。IoC是一种设计模式,它改变了对象获取依赖的方式。在传统的...
- **2.2.2 依赖注入的优点**:讨论依赖注入模式的优点及其对代码可测试性和可维护性的影响。 #### 2.3 Spring 的事务管理 - **2.3.1 Spring 事务管理概述**:介绍Spring如何实现事务管理。 - **2.3.2 事务管理的...
Spring 框架在 JSP 中的工作原理及其作用 Spring 框架是一个流行的 Java 框架,广泛应用于 Web 应用程序开发。它提供了一种简洁、灵活、可重用的方式来开发基于 Java 的应用程序。本文将详解 Spring 框架在 JSP 中...
根据提供的文件信息,本文将详细介绍与“Spring所有版本jar包”相关的知识点,包括Spring框架的基本概念、Spring MVC的概述以及如何查找和下载不同版本的Spring及其相关组件的JAR包。 ### 一、Spring框架简介 ...
- **优点:** - 更大的灵活性:可以自由地调整代码结构。 - 更强的定制能力:可以完全控制应用程序的各个方面。 - **缺点:** - 开发效率降低:需要手动编写原本由SpringRoo自动生成的代码。 - 维护成本增加:...
Spring 2.0强化了与Java EE规范的集成,包括JTA事务管理、EJB3集成以及对JavaServer Faces的支持,使得开发者可以在不牺牲Spring优点的前提下,充分利用Java EE的功能。 总结,这份中文版的Spring 2.0技术文档全面...
1. **依赖注入(Dependency Injection,DI)**:Spring的核心特性之一,允许开发者通过XML配置或注解来管理对象及其依赖关系,避免硬编码,提高代码的可测试性和可维护性。在Android应用中,可以利用Spring的DI功能...
其中,IoC容器是Spring的基础,它管理着应用中的对象及其依赖关系,使得代码更加松耦合,易于测试和维护。AOP则是Spring提供的一种处理横切关注点的方式,比如日志、事务管理等,可以被模块化并独立于业务逻辑。 在...
Spring框架的主要优点之一就是其模块化的结构,允许开发者仅引入需要的组件,而不是整个框架,从而减小了应用程序的体积。下面我们将详细讨论Spring框架的各个jar包及其功能。 1. **spring.jar**: 这是一个包含...
将Spring与Mybatis整合,可以充分利用两者的优点,实现灵活、高效的数据库访问管理。下面我们将深入探讨"Spring4--Spring4整合mybatis3"的相关知识点。 1. **Spring4的IoC(Inversion of Control,控制反转)和AOP...
Spring提供了依赖注入(DI)和面向切面编程(AOP)功能,可以管理应用中的各种对象及其相互关系。此外,Spring还包含了数据访问、Web、事务管理等多种模块,使得开发者能够轻松地集成其他框架,如MyBatis和Struts。 ...
以思维导图的形式对Spring的基础理论知识进行一个汇总,思维导图中包含Spring简介、背景、特征、特点、优点、缺点及其Spring版本迭代做了详细介绍。
Spring IOC 的优点包括: * 低耦合:Spring IOC 使得对象之间的依赖关系变得更加灵活和松散。 * 高内聚:Spring IOC 使得对象之间的依赖关系变得更加紧凑和有序。 * 可重用性:Spring IOC 使得对象变得更加可重用...
下面将详细探讨这些核心概念及其在Spring中的实现。 ### 控制反转与依赖注入 #### 控制反转(IoC) 控制反转是一种设计原则,用于降低代码间的耦合性。传统软件设计中,组件之间通过直接实例化其他组件的方式进行...
Spring框架是Java企业级应用开发的重要工具,它的主要优点在于模块化设计,能够灵活地支持各种应用需求。在IoC容器部分,你会了解到如何通过配置文件或注解来管理对象及其依赖关系,实现松耦合,提高代码的可测试性...
Spring框架有几个关键的优点,包括: 1. 轻量级:Spring框架本身非常轻巧,核心模块的大小大约为2MB,便于整合和使用。 2. 控制反转(IOC):Spring通过控制反转的技术实现了松耦合,这是指对象间的依赖关系由容器...
这个精简的例子展示了如何有效地构建一个Spring Boot应用,下面我们将详细讨论这些模块的作用及其相互关系。 1. **父模块(Parent)**: 父模块通常用于定义项目的共用依赖管理,包括版本控制和通用的插件配置。在...
Spring与Hibernate的整合使得开发者能够充分利用两者的优点。Spring管理Hibernate SessionFactory,提供事务控制,并能通过声明式事务管理简化事务处理。此外,Spring还支持基于注解的Hibernate配置,使代码更加简洁...