Spring涵盖内容分析
Spring文档地址:http://www.springsource.org/documentation
包括如下部分:
Spring Framework
Spring Security
Spring Roo
Spring Mobile
Spring Data
Spring Web Services
Spring Batch
Spring Integration
Spring AMQP
Spring Social
Spring Web Flow
Spring BlazeDS Integration
1、Spring Framework
。Flexible dependency injection with XML and annotation-based configuration styles (依赖注入,核心)
。Advanced support for aspect-oriented programming with proxy-based and AspectJ-based variants(实现AOP的方式,proxy或AspectJ)
。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(对JDBC,JPA,JTA,JMS的有力抽象)
。First-class support for common open source frameworks such as Hibernate and Quartz(支持众多开源框架,如Hibernate,Quartz等)
。A flexible web framework for building RESTful MVC applications and service endpoints(Spring MVC,基于RESTful)
。Rich testing facilities for unit tests as well as for integration tests(测试辅助)
对以下云计算平台提供Java方面的支持:
Heroku,Google App Engine,Amazon Elastic Beanstalk,VMware's Cloud Foundry。
2、Spirng Security
Spring Security is a powerful and highly customizable authentication and access-control framework.
It is the de-facto standard for securing Spring-based application.
Today it is used to secure numerous demanding environments including government agencies, military applications and central banks.
It is released under an Apache 2.0 license so you can confidently use it in your projects.
3、Spring Roo
Spring Roo is a next-generation rapid application development tool for Java developers.
It differs from other productivity tools by focusing on:
Rapid results
100% develop in Java
Easy-to-use
Fast and simple to remove
Totally compromise free
Active, helpful community
Comprehensive technology integrations
Extension points via Roo add-ons
SpringSource-certified architecture
4、Spring Mobile
Spring Mobile is an extension to Spring MVC that aims to simplify the development of mobile web applications.
5、Spring Data
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.
Category / Sub-project
Relational Database
JPA
JDBC Extensions
Big Data
Hadoop
Data-Grid
GemFire
Key Value Stores
Redis
Riak
Document Stores
MongoDB
CouchDB(planned)
Graph Databases
Neo4j
Column Stores
HBase(planned)
Cassandra(planned)
Blob-Stores
Blob
Common Infrastructure
Commons
Grails Mapping
6、Spring Web Services
Spring Web Services aims to facilitate contract-first SOAP service development,
allowing for the creation of flexible web services using one of the many ways to manipulate XML payloads.
KEY FEATURES:
Makes the Best Practice an Easy Practice
Powerful mappings
XML API support
Flexible XML Marshalling
Reuses your Spring expertise
Supports WS-Security
Integrates with Acegi Security
Built by Maven
Apache license
7、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.
8、Spring Integration
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.
9、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.
[
注:http://www.open-open.com/lib/view/1326334194796
AMQP(消息队列协议,Advanced Message Queuing Protocol)是一种消息协议 ,等同于JMS,但是JMS只是java平台的方案,AMQP是一个跨语言的协议。
QPID是AMQP的一个实现。
]
10、Spring Social
Spring Social is an extension of the Spring Framework that allows you to connect your applications with Software-as-a-Service (SaaS) providers such as Facebook and Twitter.
11、Spring Web Flow
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.
12、Spring BlazeDS Integration
Spring BlazeDS Integration is a top-level Spring project, and a component of the complete Spring Web stack.
This project's purpose is to make it easier to build Spring-powered Rich Internet Applications using Adobe Flex as the front-end client.
It aims to achieve this purpose by providing first-class support for using the open source Adobe BlazeDS project
and its powerful remoting and messaging facilities in combination with the familiar Spring programming model.