文档章节

Spring Framework Modules

黑色蝈蝈
 黑色蝈蝈
发布于 2017/05/25 11:56
字数 1086
阅读 2
收藏 0
点赞 0
评论 0

1. Core Container

核心容器由spring-corespring-beansspring-contextspring-context-support, 和 spring-expression (Spring Expression Language) 模块组成。

spring-core 和 spring-beans 模块提供框架的基础部分, 包括控制反转(IoC)和依赖注入(DI). TheBeanFactory is a sophisticated implementation of the factory pattern. It removes the need for programmatic singletons and allows you to decouple the configuration and specification of dependencies from your actual program logic.

上下文(spring-context) 模块 builds on the solid base provided by the Core and Beans modules: it is a means to access objects in a framework-style manner that is similar to a JNDI registry. The Context module inherits its features from the Beans module and adds support for internationalization (using, for example, resource bundles), event propagation, resource loading, and the transparent creation of contexts by, for example, a Servlet container. The Context module also supports Java EE features such as EJB, JMX, and basic remoting. The ApplicationContext interface is the focal point of the Context module. spring-context-supportprovides support for integrating common third-party libraries into a Spring application context for caching (EhCache, Guava, JCache), mailing (JavaMail), scheduling (CommonJ, Quartz) and template engines (FreeMarker, JasperReports, Velocity).

The spring-expression module provides a powerful Expression Language for querying and manipulating an object graph at runtime. It is an extension of the unified expression language (unified EL) as specified in the JSP 2.1 specification. The language supports setting and getting property values, property assignment, method invocation, accessing the content of arrays, collections and indexers, logical and arithmetic operators, named variables, and retrieval of objects by name from Spring’s IoC container. It also supports list projection and selection as well as common list aggregations.

2. AOP and Instrumentation

The spring-aop module provides an AOP Alliance-compliant aspect-oriented programming implementation allowing you to define, for example, method interceptors and pointcuts to cleanly decouple code that implements functionality that should be separated. Using source-level metadata functionality, you can also incorporate behavioral information into your code, in a manner similar to that of .NET attributes.

The separate spring-aspects module provides integration with AspectJ.

The spring-instrument module provides class instrumentation support and classloader implementations to be used in certain application servers. The spring-instrument-tomcat module contains Spring’s instrumentation agent for Tomcat.

3. Messaging

Spring Framework 4 includes a spring-messaging module with key abstractions from the Spring Integration project such as MessageMessageChannelMessageHandler, and others to serve as a foundation for messaging-based applications. The module also includes a set of annotations for mapping messages to methods, similar to the Spring MVC annotation based programming model.

4. Data Access/Integration

The Data Access/Integration layer consists of the JDBC, ORM, OXM, JMS, and Transaction modules.

The spring-jdbc module provides a JDBC-abstraction layer that removes the need to do tedious JDBC coding and parsing of database-vendor specific error codes.

The spring-tx module supports programmatic and declarative transaction management for classes that implement special interfaces and for all your POJOs (Plain Old Java Objects).

The spring-orm module provides integration layers for popular object-relational mapping APIs, including JPAJDO, and Hibernate. Using the spring-orm module you can use all of these O/R-mapping frameworks in combination with all of the other features Spring offers, such as the simple declarative transaction management feature mentioned previously.

The spring-oxm module provides an abstraction layer that supports Object/XML mapping implementations such as JAXB, Castor, XMLBeans, JiBX and XStream.

The spring-jms module (Java Messaging Service) contains features for producing and consuming messages. Since Spring Framework 4.1, it provides integration with the spring-messaging module.

5. Web

The Web layer consists of the spring-webspring-webmvcspring-websocket, and spring-webmvc-portlet modules.

The spring-web module provides basic web-oriented integration features such as multipart file upload functionality and the initialization of the IoC container using Servlet listeners and a web-oriented application context. It also contains an HTTP client and the web-related parts of Spring’s remoting support.

The spring-webmvc module (also known as the Web-Servlet module) contains Spring’s model-view-controller (MVC) and REST Web Services implementation for web applications. Spring’s MVC framework provides a clean separation between domain model code and web forms and integrates with all of the other features of the Spring Framework.

spring-webmvc-portlet 模块 (Web-Portlet 模块) provides the MVC implementation to be used in a Portlet environment and mirrors the functionality of the Servlet-based spring-webmvc module.

6. Test

spring-test 模块 支持单元测试和集成测试,使用 JUnit 或者 TestNG. 它提供了Spring 上下文的一致性加载和缓存,还提供了mock对象,可以隔离测试你的代码。

 

7. Spring Framework Artifacts

GroupId ArtifactId Description

org.springframework

spring-aop

Proxy-based AOP support

org.springframework

spring-aspects

AspectJ based aspects

org.springframework

spring-beans

Beans support, including Groovy

org.springframework

spring-context

Application context runtime, including scheduling and remoting abstractions

org.springframework

spring-context-support

Support classes for integrating common third-party libraries into a Spring application context

org.springframework

spring-core

Core utilities, used by many other Spring modules

org.springframework

spring-expression

Spring Expression Language (SpEL)

org.springframework

spring-instrument

Instrumentation agent for JVM bootstrapping

org.springframework

spring-instrument-tomcat

Instrumentation agent for Tomcat

org.springframework

spring-jdbc

JDBC support package, including DataSource setup and JDBC access support

org.springframework

spring-jms

JMS support package, including helper classes to send/receive JMS messages

org.springframework

spring-messaging

Support for messaging architectures and protocols

org.springframework

spring-orm

Object/Relational Mapping, including JPA and Hibernate support

org.springframework

spring-oxm

Object/XML Mapping

org.springframework

spring-test

Support for unit testing and integration testing Spring components

org.springframework

spring-tx

Transaction infrastructure, including DAO support and JCA integration

org.springframework

spring-web

Foundational web support, including web client and web-based remoting

org.springframework

spring-webmvc

HTTP-based Model-View-Controller and REST endpoints for Servlet stacks

org.springframework

spring-webmvc-portlet

MVC implementation to be used in a Portlet environment

org.springframework

spring-websocket

WebSocket and SockJS infrastructure, including STOMP messaging support

 

8. Maven依赖关系

spring-core

spring-core-4.3.8.RELEASE.jar

commons-logging-1.2.jar

 

spring-beans

spring-core-4.3.8.RELEASE.jar

commons-logging-1.2.jar

spring-beans-4.3.8.RELEASE.jar

 

spring-context

spring-core-4.3.8.RELEASE.jar

commons-logging-1.2.jar

spring-beans-4.3.8.RELEASE.jar

spring-context-4.3.8.RELEASE.jar

spring-aop-4.3.8.RELEASE.jar

spring-expression-4.3.8.RELEASE.jar

 

spring-aop

spring-core-4.3.8.RELEASE.jar

commons-logging-1.2.jar

spring-beans-4.3.8.RELEASE.jar

spring-aop-4.3.8.RELEASE.jar

 

spring-web

spring-core-4.3.8.RELEASE.jar

commons-logging-1.2.jar

spring-beans-4.3.8.RELEASE.jar

spring-context-4.3.8.RELEASE.jar

spring-aop-4.3.8.RELEASE.jar

spring-expression-4.3.8.RELEASE.jar

spring-web-4.3.8.RELEASE.jar

 

spring-webmvc

spring-core-4.3.8.RELEASE.jar

commons-logging-1.2.jar

spring-beans-4.3.8.RELEASE.jar

spring-context-4.3.8.RELEASE.jar

spring-aop-4.3.8.RELEASE.jar

spring-expression-4.3.8.RELEASE.jar

spring-web-4.3.8.RELEASE.jar

spring-webmvc-4.3.8.RELEASE.jar

© 著作权归作者所有

共有 人打赏支持
黑色蝈蝈
粉丝 4
博文 15
码字总数 7478
作品 0
海淀
程序员
spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包

下载spring http://spring.io/ 最重要是在特征下面的这段话,需要注意: All avaible features and modules are described in the Modules section of the reference documentation. Their ......

noteless
2016/02/24
0
0
Latest Jackson integration improvements in Spring

Spring Jackson support has been improved lately to be more flexible and powerful. This blog post gives you an update about the most useful Jackson related features available in ......

idoz
2015/01/09
0
0
二、idea导入spring源码

在 fork 官方源码 到自己的仓库后(fork 的好处是方便自己试验和注释), 将其 git clone 下来, 因平时工作用的是 idea 就想用 idea 作为工具。 clone 下来后可以看到根目录下有2个指引文件...

holysu
07/11
0
0
Spring 3.0.0 is Now Available (2009-12-16)

Spring 3.0.0 is Now Available News and Announcements It's here just in time for the holidays! Arjen Poutsma has just announced that Spring 3.0.0 is now final and Juergen Hoeller......

晨曦之光
2012/03/09
0
0
huangdf/seezoon-framework-all

项目介绍 基于spring,mybatis,shiro面向接口开发的的一套后台管理系统,方便快速开发;采用常用的技术栈,降低学习成本,项目完全前后端分离,后端定义统一的接口格式,统一参数校验,统一权...

huangdf
04/20
0
0
spring boot(2)起步依赖spring-boot-starter-*详解

--The core Spring Boot starter, including auto-configuration support, logging and YAML. --Spring Boot starter核心模块,包括自动配置支持,日志和YAML。 --Support for the “Advance......

刘胜球
2017/10/25
0
0
Spring 3.1、3.2、4.1 文档地址

单页版 http://docs.spring.io/spring/docs/3.1.x/spring-framework-reference/htmlsingle/ http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/htmlsingle/ http://docs.......

cokolin
2015/05/04
0
0
spring framework -- 总体架构

Spring 框架的官方图片 这张图信息很有限, 只是描述了下spring 框架的modules, 核心部分 Beans core context Expression Language 官方描述 Core 和 Beans 两个模块 提供了框架的基本支持,...

triankg
2014/03/19
0
0
m.toutiao.im/whatsmars

whatsmars $ Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ) Spring Boot 系列(Servlet, Tomcat, Spring, SpringMVC, Spring Boot) Modules intro Module Intro whatsmars-common m......

m.toutiao.im
2017/12/25
0
0
Spring3.1 Cache注解

需要感慨一下,spring3.0时丢弃了2.5时的spring-modules-cache.jar,致使无法使用spring来方便的管理cache注解,好在3.1.M1中增加了对cache注解的支持,可喜可贺啊! 希望了解spring2.5的cac...

小样
2012/02/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

TextView设置行间距、字体间距

一、设置行间距 1、设置行间距:android:lineSpacingExtra,取值范围:正数、负数和0,正数表示增加相应的大小,负数表示减少相应的大小,0表示无变化 2、设置行间距的倍数:android:lineSpa...

王先森oO
3分钟前
0
0
适配器模式

适配器模式(Adapter):将一个类的接口转换成客户端希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适配器用于连接两种不同种类的对象,使其毫...

阿元
3分钟前
0
0
CoreText进阶(四)-文字行数限制和显示更多

CoreText进阶(四)-文字行数限制和显示更多 用例和效果 Demo:CoreTextDemo 效果图: 默认的截断标识和自定义的截断标识符效果图  点击查看更多之后的效果图  为了可以设置显示的行数以...

aron1992
6分钟前
0
0
nginx的五种负载算法

nginx的五种负载算法 2017年04月26日 15:01:11 阅读数:1297 1.round robin(默认) 轮询方式,依次将请求分配到各个后台服务器中,默认的负载均衡方式。 适用于后台机器性能一致的情况。 挂...

linjin200
8分钟前
0
0
Android RecyclerView快速上手

RecyclerView mainMenu = findViewById(R.id.fragmentMain); mainMenu.setLayoutManager(new GridLayoutManager(getActivity(),4)); mainMenu.setAdapter(new MainAdapter......

燕归南
10分钟前
0
0
RabbitMQ实战:理解消息通信 

应用RabbitMQ的5种队列 一、简单队列 P:消息的生产者 C:消息的消费者 红色:队列 简单队列的生产者和消费者关系一对一 但有时我们的需求,需要一个生产者,对应多个消费者,那就可以采用第...

spinachgit
11分钟前
0
0
Linux的使用技巧:到底要不要会用?[图]

Linux的使用技巧:到底要不要会用?[图] 最近有个项目接近了尾声,要进入到调试测试阶段。这是一个使用Springboot框架为后台程序,mpvue构建的小程序项目。服务器我最终仍旧选择了Linux操作系...

原创小博客
12分钟前
0
0
记elasticdump 备份数据导出导入

版本: elasticsearch 5.5.2 elasticdump 2.2 系统 CentOS7.3 因项目需求 从生产导出一份索引到测试 帮助文档 https://github.com/taskrabbit/elasticsearch-dump?utm_source=dbweekly&utm_m......

雁南飞丶
13分钟前
0
0
saltstack配置目录管理

1.服务端配置 -接着编辑之前的 top.sls 文件 #vim /srv/salt/top.sls //修改为如下 base: 'slaver.test.com': - filedir -新建 filedir.sls 文件 # vim /srv/salt/filedir.sls file-dir: fi......

硅谷课堂
14分钟前
0
0
python日期时间

日期和时间 Python内建的datetime模块提供了datetime、date和time类型。datetime类型结合了date和time,是最常使用的: In [102]: from datetime import datetime, date, timeIn [103]:...

火力全開
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部