spring4.0之一:简介

咱们共同来构建更好的企业应用。Spring帮助全世界的开发团队构建简单、便携、快速和灵活的基于JVM的系统和应用。这两句话已经足以说明Spring的目标,它针对的领域是企业应用,这套框架构建的应用有着简单、便携、快速和灵活的特色。与EJB(Enterprise JavaBean,一个基于Java平台的服务端组件框架)相比,它是一个轻量级的应用开发平台。html

1 适合人群web

    本系列文章适合对Spring框架有使用经验的技术人员,或者对Spring有必定了解的初学者。spring

2 Spring的目标是什么?express

    Spring官方主页(http://spring.io)有两句话:编程

 

  1. Let's build a better Enterprise.   
  2. 咱们共同来构建更好的企业应用。  
  3. Spring helps development teams everywhere build simple, portable, fast and flexible JVM-based systems and applications.   
  4. Spring帮助全世界的开发团队构建简单、便携、快速和灵活的基于JVM的系统和应用。  

    这两句话已经足以说明Spring的目标,它针对的领域是企业应用,这套框架构建的应用有着简单、便携、快速和灵活的特色。与EJB(Enterprise JavaBean,一个基于Java平台的服务端组件框架)相比,它是一个轻量级的应用开发平台。设计模式

3 认识Springtomcat

    Spring是一个企业级应用开发平台,到目前为止,围绕它有一个较为完整且成熟的应用开发生态圈,在这个生态圈中,除了Spring核心项目之外,还有不少子项目。所以,理论上,可使用Spring的生态圈技术来开发一套完整的应用系统。服务器

    尽管JDK提供了丰富的开发功能,可是它很难将一些基础的组件块构建成一个完整的框架,它把这个任务交给了开发者和工程师。尽管开发人员能够利用工厂、抽象工厂、建立者、装饰器等设计模式将这些组件组合起来,可是其中的工做量是至关巨大的,特别是对于中小企业来讲,根本没有那么多资源来作这件事情。而Spring框架已经帮咱们作好了这一切,Spring框架的控制反转(IoC, Inversion of Control)组件以标准化的方式将这些分散的组件组合到一块儿,Spring使用了规范的设计模式,很容易将它集成到应用系统中。当前,大量的企业和机构在使用Spring框架。websocket

4 Spring的模块架构

    如上图所示,Spring由20多个模块组成,它们能够分为核心容器(Core Container)、数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspect Oriented Programming)、设备(Instrumentation)、消息发送(Messaging)和测试(Test)。

4.1 核心容器

    核心容器包含spring-core、spring-beans、spring-context、spring-context-support和spring-expression (Spring Expression Language,Spring表达式语音)这些模块。

spring-core和spring-beans构成了框架最基础的部分,包括控制反转和依赖注入功能。BeanFactory是工厂模式的一个很成熟的实现。

spring-context是基于spring-core和spring-beans构建的,它提供了一种以框架风格来访问对象的方式,相似于JNDI注册。ApplicationContext接口是spring-context的焦点。spring-context-support为集成第三方库(如定时器Quartz)提供支持。spring-expression提供了一种强大的表达式语言,能够在运行时查询和操做对象。

4.2 AOP和设备

    spring-aop模块提供了一个AOP面向切面编程的实现。好比,容许开发者定义方法拦截器和切入点,以此来将业务逻辑和系统服务进行解耦。

    spring-aspects模块提供与AspectJ的集成。

    spring-instrument模块提供了在普通应用服务器中使用到的类设备支持和加载器实现。spring-instrument-tomcat模块包含了Spring的Tomcat设备代理。

4.3 消息发送

    Spring 4包含了一个spring-messaging模块,它对Spring集成项目Message、MessageChannel和MessageHandler进行了重要的抽象,它是基于消息发送应用的基础。

4.4 数据访问/集成

    数据访问/集成层包含JDBC(spring-jdbc)、ORM(spring-orm)、OXM(spring-oxm)、JMS(spring-jms)和事务(spring-tx)模块。

4.5 Web

    Web层包含spring-web、spring-webmvc、spring-websocket和spring-webmvc-portlet模块。其中,spring-web提供了面向Web集成的基本特性,好比文件上传功能。Spring-webmvc模块包含了Spring的MVC和REST Web Service实现。Spring-webmvc-portlet模块提供了在Portlet环境下的MVC实现。

4.6 测试

    Spring-test模块支持Spring组建JUnit和TestNG的单元测试和集成测试。

5 为什么使用Spring?

    Spring的IOC和AOP两大核心功能能够大大下降应用系统的耦合性、简化开发流程。     

    Spring框架技术可在不一样层次上起做用,好比IOC管理普通的POJO对象、AOP加强了系统服务和其它组件(事务、MVC、JDBC、ORM和远程调用等)。Spring的一大特色就是基于接口编程,它是非侵入式的服务。用户端绑定接口使用JAVA EE服务,而非直接绑定服务,并且应用也可使用不一样的服务(Hibernate、MyBatis等)。咱们能够根据本身的须要,使用Spring的一部分服务,而没必要使用完整的Spring系列项目。

相关文章
相关标签/搜索