Spring介绍

Spring框架模块详解

一、Spring模块

从Spring3开始,Spring进行了模块化,将原先的一个jar包拆分成很多个jar包,允许你挑选和选择适用于你的模块,不必要把剩余部分也引入。

Spring 框架(框架是一个半成品)提供约 20 个模块,,这些模块分为核心容器、数据访问/集成、Web、AOP、Instrumentation、消息和测试,可以根据应用程序的要求来使用,如下图所示:

1. 核心容器

  核心容器由spring-core、spring-beans、spring-context、spring-context-support和spring-expression 5个模块构成。

  spring-core和spring-beans模块为框架提供最基本的功能,包括IoC和依赖注入。BeanFactory是一个工厂的实现类。它可以免除用户手动创建单例类并且对象之间解耦。

  context(spring-core)模块基于spring-beans和BeanFactory两个模块,允许以框架方式访问对象,这类似于JNDI。Context模块继承了Beans模块,并支持国际化、事件传播、资源加载等。Context模块支持Java EE特性,如EJB、JMX、远程访问。spring-context接口是Contet模块的重点。spring-context-support提供将第三方库集成到Spring的功能,如缓存(EhCache,JCache)和任务调度(CommonJ,Quartz)等。

  spring-expression模块提供强有力的在运行时查询和操作对象的语言。这种语言支持获取和设置属性、方法执行、获取数组或集合中的对象、逻辑计算、命名变量,在Spring的IoC容器中获得对象。

  核心容器是Spring 启动最基本的条件。

2. AOP 和 Instrumentation

  spring-aop模块提供切面编程的实现。可以自定义方法拦截和切入点。

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

  spring-instrument模块为特定的服务器提供类加载服务。spring-instrument模块是集成了Tomcat。

3. Data Access/Integration

  这一层由JDBC、ORM、OXM、JMS、和事物模块组成。

  spring-jdbc模块,主要为了解决数据库繁多的问题,应用此可不需要关注使用的数据库。

  spring-tx模块提供编程式或声明式事务处理。

  spring-orm模块提供流行的对象关系映射的APIs,包含JPA和Hibernate.

  spring-oxm模块提供对Object/XML映射的支持,例如JAXB,Castor,JiBX和XStream。

  spring-jms模块(Java消息服务)包含生成和消费消息的功能。在Spring4.1以后,它集成了spring-messaging模块。

4. Messaging(消息)

  Spring4提供了spring-messaging模块,主要类有Message,MessageChannel,MessageHandler。这个模块还包含一些映射消息到方法的注解,类似于Spring MVC基于编程模式的注解。

5. Web

  Web层包含spring-web、spring-webmvc和spring-websocket 3个模块。

  spring-web模块提供面向Web方法的集成特性,例如多部分文件上传、通过监听初始化IoC容器和面向Web的Context,还包含HTTP客户端和对远程的支持。

  spring-webmvc模块(也被称作Web-Servlet模块)包含Spring MVC框架。

  spring-websocket模块提供对socket的全面支持。

6. Test(测试)

  spring-test模块通过JUnit或者TestNG来对Spring的模块进行单元测试和集成测试。它提供一致的Spring 的ApplicationContexts 和context的缓存。它还提供mock对象让你测试你的代码。

二、Spring相关jar包

 org.springframework   

 spring-aop   

 基于代理的AOP支持   

 org.springframework   

 spring-aspects   

 基于AspectJ 的切面编程   

 org.springframework   

 spring-beans   

 Beans的支持, 包括 Groovy   

 org.springframework   

 spring-context   

 应用程序运行时上下文,包括调度和远程抽象   

 org.springframework   

 spring-context-support   

 提供第三方库到Spring的支持   

 org.springframework   

 spring-core   

 核心工具类,被其他模块使用   

 org.springframework   

 spring-expression   

 Spring 表达式语言 (SpEL)   

 org.springframework   

 spring-instrument   

 代理JVM相关的   

 org.springframework   

 spring-instrument-tomcat   

 Tomcat的插件   

 org.springframework   

 spring-jdbc   

 提供jdbc的支持,包括数据源和JDBC访问   

 org.springframework   

 spring-jms   

 JMS支持包,包括接收和发送消息类的支持   

 org.springframework   

 spring-messaging   

 对消息传递体系结构和协议的支持   

 org.springframework   

 spring-orm   

 对象/关系  映射, 拨快对JPA 和 Hibernate的支持   

 org.springframework   

 spring-oxm   

 对象/XML 映射的支持   

 org.springframework   

 spring-test   

 对Spring组件单元测试和集成测试的支持   

 org.springframework   

 spring-tx   

 事务支持,包块DAO支持和JCA集成   

 org.springframework   

 spring-web   

 Web 支持,包括客户端和Web访问   

 org.springframework   

 spring-webmvc   

 一个MVC框架   

 org.springframework   

 spring-websocket   

 WebSocket 和SockJS 的实现,包括对STOMP的支持   

三、Spring核心功能

1. IoC/DI :控制反转/依赖注入 

2. AOP:面向切面编程

3. 声明式事务

 

Spring 框架宗旨:不重复造轮子,让原有技术使用起来更加方便。

转载于:https://www.cnblogs.com/myitnews/p/11547496.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值