一、Spring介绍

Spring框架的由来

Spring框架的由来,还要从EJB说起。EJB是sun的JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和消息驱动Bean(MessageDriven Bean)。

传统的JavaEE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致JavaEE的应用没有真正实现“编写一次,到处运行”的承诺。

Rod Johnson在《Expert One-on-One J2EE Design and Development》一书中,描绘了Spring的雏形。最终,他因为不能忍受EJB实现的繁杂,从而决定开发一个框架,这就是Spring。

Spring的特点

1、Spring作为一个开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。
2、轻量
3、控制反转(IoC):Spring通过控制反转的技术促进了松耦合
4、面向切面(AOP):Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
5、容器:Spring包含并管理应用对象的配置和生命周期
6、框架:Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式的组合,典型情况下是一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将这些应用逻辑的开发留给开发者。

Spring的核心思想

IoC—-Inveresion of Control(控制反转),也称为DI—-Dependency Injection(依赖注入)
IoC(控制反转)通俗的理解就是:创建对象实例的控制权从代码控制剥离到IoC容器控制。
DI(依赖注入)通俗的额理解就是:创建对象实例时,为这个对象注入属性值或其他对象实例。

Spring的体系结构

Spring框架是一个分层架构。整个框架按其所属的功能可以划分为6个主要模块。
1、Spring核心模块
Spring中最基础、最重要的模块,实现IoC的功能,将类和类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描述,由IoC容器负责依赖类之间的创建、拼接、管理、获取等工作BeanFactory接口是Spring框架的核心接口,实现了容器的许多核心功能。

2、AOP模块
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,是继OOP之后,对编程设计思想影响最大的技术之一。
利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

3、数据访问和集成模块
Spring建立起了和数据形式及访问技术无关的统一的DAO层,借助AOP技术,Spring提供了声明式事务的功能。

4、Web及远程操作模块
该模块建立在Application Context模块之上,提供了Web应用的各种工具类。该模块还提供了多项面向Web的功能,此外,Spring可以整合Struts 、WebWork等MVC框架

5、Web及远程访问模块
Spring自己提供了一个完整的类似于Struts的MVC框架,称为Spring MVC。如果不想使用Spring MVC,那么Spring对Struts等MVC框架的整合,一定也可以给你带来方便。

6、Test模块
Test模块支持使用JUnitTestNG(下一代测试技术, Next Generation)对Spring组件进行测试。

TestNG:TestNG is a testing framework for the Java programming language inspired by JUnit and NUnit. The design goal of TestNG is to cover a wider range of test categories: unit, functional, end-to-end, integration, etc., with more powerful and easy-to-use functionalities.

参考资料

《Spring源码深度解析》
《Java EE 轻量级框架应用与开发——S2SH》
《Struts+Spring+Hibernate整合详解与典型案例》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值