03-Spring实战(Spring概述)

当谈论Spring时,其实它远远超出我们的想象。事实上,Spring远不是Spring框架所下载的那些。如果仅仅停留在核心的Spring框架层面,我们将错过Spring Portfolio所提供的巨额财富。整个Spring Portfolio包括多个构建于核心Spring框架之上的框架和类库。概括地讲,整个Spring Portfolio几乎为每一个领域的Java开发都提供了Spring编程模型。

1 Spring框架

03-Spring实战(Spring概述)_第1张图片

根据功能的不同,可以将Spring框架划分为六个不同的模块

1.1 Spring核心容器

1. core和beans模块提供了整个框架最基础的部分,包括了IoC(控制反转)和Dependency Injection(依赖注入)。

2. Context建立在Core和Beans模块提供的基础之上:他提供了框架式访问对象的方式

3. core、beans、context构成了Spring的骨架

4. Expression提供了一种强大的用于在运行时操作对象的表达式语言

1.2 面向切面编程

该模块是Spring应用系统中开发切面的基础。与DI一样,AOP可以帮助应用对象解耦。借助于AOP,可以将遍布系统的关注点(例如事务和安全)从它们所应用的对象中解耦出来。典型的应用包括事务管理,日志

1.3 数据访问与集成

1. Spring的JDBC和DAO(Data Access Object)模块抽象了这些样板式代码,使我们的数据库代码变得简单明了。

2. Spring的ORM模块建立在对DAO的支持之上,并为多个ORM框架提供了一种构建DAO的简便方式。包括Hibernate,Java Persisternce API等

3. Spring的事务管理支持所有的ORM框架以及JDBC,依赖于AOP模块

4. JMS(Java Message Service)之上构建的Spring抽象层,它会使用消息以异步的方式与其他应用集成。

5. OXM可以实现对象到XML映射

1.4 Web与远程调用

1. SpringMVC构建Web应用。

2.该模块还提供了多种构建与其他应用交互的远程调用方案。Spring远程调用功能集成了RMI(Remote Method Invocation)、Hessian、Burlap、JAX-WS, 同时Spring还自带了一个远程调用框架:HTTP invoker。Spring还提供了暴露和使用REST API 的良好支持。

1.5 Instrumentation

Spring的Instrumentation模块提供了为JVM添加代理(agent)的功能。

1.6 测试

Spring提供了测试模块以致力于Spring应用的测试。

2 Spring Portfolio

Spring Portfolio包括多个构建于核心Spring框架之上的框架和类库。

2.1 Spring Web Flow

Spring Web Flow建立于Spring MVC框架之上,它为基于流程的会话式Web应用(可以想一下购物车或者向导功能)提供了支持。

2.2 Spring Data

Spring Data使得在Spring中使用任何数据库都变得非常容易。不管你使用文档数据库,如MongoDB,图数据库,如Neo4j,还是传统的关系型数据库, Spring Data都为持久化提供了一种简单的编程模型。

2.3 Spring Boot

Spring Boot大措依赖于自动配置技术,它能够消除大部分(在很多场景中,甚至是全部)Spring配置。它还提供了多个Starter项目,不管你使用Maven还是Gradle,这都能减少Spring工程构建文件的大小。Spring Boot简化了Spring本身

2.4 Spring Batch

当我们需要对数据进行大措操作时,没有任何技术可以比批处理更胜任这种场景。如果需要   开发一个批处理应用,你可以通过Spring Batch,使用Spring强大的面向POJO的编程模型。

2.5 Spring Security

安全对于许多应用都是一个非常关键的切面。利用Spring AOP,Spring Security为Spring应用提供了声明式的安全机制。

2.6 Spring Social

Spring Social是Spring的一个社交网络扩展模块。它能够帮助你通过REST   API连接Spring应用,其中有些Spring应用可能原本并没有任何社交方面的功能目标。

2.7 Spring Mobile

移动应用是另一个引人瞩目的软件开发领域。智能手机和平板设备已成为许多用户首选的客户端。Spring Mobile是Spring MVC新的扩展模块,用于支持移动Web应用开发。

2.8 Spring Integration

许多企业级应用都需要与其他应用进行交互。Spring Integration提供了多种通用应用集成模式的Spring声明式风格实现。

 

 

 

 

你可能感兴趣的:(Spring实战,Spring概述,Spring模块,Spring核心容器)