初步认识Spring

 Spring社区网站:www.springsource.org

 了解并熟悉Spring的各个子项目,即能清晰的知道Spring的整个生态系统。


 1、Spring Framework (Core)

 Spring项目的核心,包含IoC容器的设计,提供控制反转模式的实现,集成AOP的功能,还包含MVC、JDBC、事务处理模块的实现等。(PS:英文是官方的原文)

   The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

Spring includes:

  • Flexible dependency injection with XML and annotation-based configuration styles

  • Advanced support for aspect-oriented programming with proxy-based and AspectJ-based variants

  • Support for declarative transactions, declarative caching, declarative validation, and declarative formatting

  • Powerful abstractions for working with common Java EE specifications such as JDBC, JPA, JTA and JMS

  • First-class support for common open source frameworks such as Hibernate and Quartz

  • A flexible web framework for building RESTful MVC applications and service endpoints

  • Rich testing facilities for unit tests as well as for integration tests

The Spring Framework serves as the foundation for the wider family of Spring open source projects, including:

  • Spring Security

  • Spring Integration

  • Spring Batch

  • Spring Data

  • Spring Web Flow

  • Spring Web Services

  • Spring Mobile

  • Spring Social

  • Spring Android


2、Spring Web Flow

  构建在Spring MVC的基础上,相对于Spring Framework独立发展。

    Spring Web Flow is a Spring MVC extension that allows implementing the "flows" of a web application. A flow encapsulates a sequence of steps that guide a user through the execution of some business task. It spans multiple HTTP requests, has state, deals with transactional data, is reusable, and may be dynamic and long-running in nature.


 3、Spring Intergration

  “企业集成模式”。

    Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns. It enables lightweight messaging within Spring-based applications and supports integration with external systems via declarative adapters. Those adapters provide a higher-level of abstraction over Spring's support for remoting, messaging, and scheduling. Spring Integration's primary goal is to provide a simple model for building enterprise integration solutions while maintaining the separation of concerns that is essential for producing maintainable, testable code.


 4、Spring Security

 基于Spring认证和安全工具,(以前的Acegi框架)

   Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.


 5、Spring Security OAuth

 OAuth在Spring上的集成提供支持,OAuth是一个第三方的模块,提供开放协议的实现。

The purpose of Spring Security OAuth is to provide an OAuth implementation for Spring Security. Support is provided for the implementation of OAuth providers and OAuth consumers. There is also support for two-legged OAuth (a.k.a. "Signed Fetch") and for OAuth 2.0.

 6、Spring Batch

 提供构建批处理应用和自动化操作的框架,其架构如下:


    Spring Batch is a lightweight, comprehensive batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems. Spring Batch builds upon the productivity, POJO-based development approach, and general ease of use capabilities people have come to know from the Spring Framework, while making it easy for developers to access and leverage more advanced enterprise services when necessary.


 7、Spring AMQP

 为Spring应用更好地使用基于AMQP(高级消息队列协议)消息服务而开发。

 The Spring AMQP project applies core Spring concepts to the development of AMQP-based messaging solutions. We provide a "template" as a high-level abstraction for sending and receiving messages. We also provide support for Message-driven POJOs. These libraries facilitate management of AMQP resources while promoting the use of dependency injection and declarative configuration. In all of these cases, you will see similarities to the JMS support in the Spring Framework. The project consists of both Java and .NET versions.


 8、Spring Data

 为Spring应用提供使用非关系型数据的能力。

 

Spring Data makes it easier to build Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce frameworks, and cloud based data services as well as provide improved support for relational database technologies.

Spring Data is an umbrella open source project which contains many subprojects that are specific to a given database. The projects are developed by working together with many of the companies and developers that are behind these exciting technologies.

Spring整体架构图:

你可能感兴趣的:(spring)