Spring学习(1)——Spring简介

Spring的发展及其特点

Spring 开源框架的第一个版本由Rod Johnson于2003年开发并发布,目的是解决企业应用开发的复杂性问题。经过多年的发展,Spring成为JavaEE开发中重要框架之一。

Spring 使用基本的 JavaBean 来完成以前只可能由EJB完成的功能。它不仅仅针对某一特定层,而是贯穿于表现层、业务层及持久层,与已有框架进行友好的整合。从简洁性、可测试性、松耦合的角度讲,任何Java应用都或多或少受到Spring影响。

控制反转不直接创建对象,但是描述创建它们的方式。在代码中也不直接与对象和服务交互,但在配置文件中描述哪一个组件需要哪一项服务。容器(在 Spring 框架中是IoC容器)负责将这些联系在一起。

Spring AOP是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AOP 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。

AOP和IoC 是补充性的技术,它们都运用模块化方式解决企业应用程序开发中的复杂问题。在典型的面向对象开发方式中,可能要将日志记录语句放在所有方法和 Java类中才能实现日志功能。在 AOP 方式中,可以反过来将日志服务模块化,并以声明的方式将它们应用到需要日志的组件上。当然,优势就是 Java类不需要知道日志服务的存在,也不需要考虑相关的代码。所以,用 Spring AOP 编写的应用程序代码是松散耦合的,AOP的功能完全集成到了 Spring事务管理、日志和其他各种特性的上下文中。

综合上述, Spring特点如下。

  • Spring 简化了开发:Spring 中的IoC容器,可以将对象的实例化及对象间的依赖关系移交给Spring进行处理,用户不必再把精力放在最底层代码的编写上,提高了代码编写的效率。
  • Spring 中 AOP技术简洁、易用:基于注解,Spring中AOP的实现更加简洁、易用,较好地实现了将多个公共服务整合到业务逻辑中以更好地完成业务操作。
  • Spring 中事务管理简单易用:通过声明式的事务管理降低了代码的复杂性,提高了开发的效率。
  • Spring 可以较好地与其他框架进行整合:Spring 牧对地与当丽沉行框架(如Struts、Hibermate等)进行整合,以实现复杂的业务逻辑。

Spring体系结构

Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspects)、提供JVM的代理(Instrumentation)、消息发送(Messaging)、核心容器(Core Container)和测试(Test)。
在这里插入图片描述

组成 Spring框架的每个模块(组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下。

  • 核心容器:核心容器提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IoC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  • Spring上下文: Spring上下文是一个配置文件,向Spring框架提供上下文信息。Spring上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。
  • Spring AOP:通过配置管理特性,Spring AOP模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何对象支持AOP。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用Spring AOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。
  • Spring DAO: JDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。SpringDAO的面向JDBC的异常遵从通用的DAO异常层次结构。
  • Spring ORM: Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatis SQL Map。所有这些都遵从Spring 的通用事务和DAO异常层次结构。

Spring Web:Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程提供了上下文。所以,Spring框架支持与JakartaStruts集成。Web模块还简化了处理大部分请求以及将请求参数绑定到域对象的工作。

  • Spring MVC: MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口,MVC框架成为高度可配置的,MVC容纳了大量视图技术,其中包括JS、Velocity、Tiles、iText和POI。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值