Spring 3.x jar 包详解 与 依赖关系
以下的内容我会持续更新(当然是我有新发现的时候);
以下内容是我在网上搜索、整理、修改的而成的内容。由于很多内容都是转载了,无法追溯到源头,因此无法一一对原作者进行道谢。
这几天,我查阅大量的官方的文档,对内容进行了进一步修正和说明,希望对各位有更大的帮助。同时这些依赖关系已在我项目中都进行测试,应该不会有什么问题。
再次感谢网络上各位老师。如果有什么错误,烦请指正。
【Spring 3.1包详解】
备注:以下的jar包,如果没有特殊说明,大多数的最新版本都可以从http://ebr.springsource.com/repository/app/下载到
Spring 3.1与之前的 2.X 的不一样,新版本把原来的包分解了,功能分工明确:
core-container
org.springframework.beans-3.1.1.RELEASE.jar ---- ---- springIoC(依赖注入)的基础实现,所有应用都要用到的,它包含访问配置文件、创建和
管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。
org.springframework.core-3.1.1.RELEASE.jar ---- ---- 包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类。包括了ASM、CGLIB、Core和Utils
org.springframework.context-3.1.1.RELEASE.jar ---- ----是在 Core 和 Beans 模块的基础之上构建的,提供许多企业级服务的支持。
Context模块继承了Beans模块的特性,并添加了国际化(使用资源绑定的方式)、事件传播、资源加载以及通过Servlet容器透明创建的上下文环境。也支持Java EE特性,如EJB、JMX和基本的远程调用。
ApplicationContext接口是Context模块的入口。
org.springframework.context.support-3.1.1.RELEASE.jar ---- ---- spring-context-support提供了把常用的第三方类库(如缓存(EhCache、Guava、JCache)、邮件(JavaMail、COS Mail)、计划(CommonJ、Quartz)以及模板引擎(FreeMarker、JasperReports、Velocity))集成到Spring应用场景中的支持。
org.springframework.expression-3.1.1.RELEASE.jar ---- ----模块提供了可用于运行时查询和操作对象的强大的表达式语言。它是JSP2.1规范中指定的统一表达式语言的一个扩展。它支持设置和获取属性值、属性匹配、方法调用、访问数组内容、集合和索引、逻辑和算术运算、命名变量、以及使用对象名从Spring容器中检索对象等功能。它还支持列表的投射和选择以及常用的列表聚合。 例如,常在数据库配置中使用“#{db.database}”引用配置文件、或在 annotation 中使用:@Value("#{systemProperties.databaseName}")
org.springframework.aop-3.1.1.RELEASE.jar ---- ----spring 的面向切面编程,提供AOP(面向切面编程)实现,
org.springframework.asm-3.1.1.RELEASE.jar ---- ---- Spring独立的asm程序, Spring2.5.6的时候需要asmJar 包,3.0开始提供他自己独立的asm.jar
。ASM是小巧轻便的 Java 字节码操控框架 ,它能方便地生成和改造 Java 代码。 Hibernate 和 Spring 在底层都用到了 ASM(CgLib 底层用的 asm)。
org.springframework.aspects-3.1.1.RELEASE.jar ---- ---- spring整合了aspectjrt.jar,也可以使用aspectjrt.jar来代替。
org.springframework.instrument.tomcat-3.1.1.RELEASE.jar ---- ----spring3.1 对 Tomcat 的连接池的基成。
org.springframework.instrument-3.1.1.RELEASE.jar ---- ----spring3.1 对服务器的代理接口。
org.springframework.jdbc-3.1.1.RELEASE.jar ---- ----包含对Spring对JDBC数据访问进行封装的所有类。
org.springframework.jms-3.1.1.RELEASE.jar ---- ----提供了对JMS 1.0.2/1.1的支持类。
org.springframework.orm-3.1.1.RELEASE.jar ---- ----包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate
已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖spring-dao.jar里的类,用这个包时你需要同时包含spring-dao.jar包
。
org.springframework.oxm-3.1.1.RELEASE.jar ---- ----spring 对Object/XMI 的映射的支持,可以让JAVA与XML之间来回切换。
org.springframework.test-3.1.1.RELEASE.jar ---- ----spring 对Junit 等测试框架的简单封装。
org.springframework.transaction-3.1.1.RELEASE.jar ---- ----为为JDBC、Hibernate、JDO、JPA等提供的一致的声明式和编程式事务管理。
org.springframework.web.portlet-3.1.1.RELEASE.jar ---- ----springMVC 的增强,支持portlet标准(JSR168/JSR286)。
org.springframework.web.servlet-3.1.1.RELEASE.jar ---- ----对 J2EE6.0 Servlet3.0 的支持。
org.springframework.web.struts-3.1.1.RELEASE.jar ---- ---- 整合 Struts 的支持。
org.springframework.web-3.1.1.RELEASE.jar ---- ----包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext
特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
【Spring AOP + aspectJ 编程需要导入】
Spring自带的:
1、org.springframework.aop-3.1.1.jar(依赖【2】、【3】、【4】)
2、com.springsource.org.aopalliance-1.0.0.jar
3、com.springsource.org.apache.commons.logging-1.1.1.jar
4、org.springframework.core-3.1.1.RELEASE.jar(依赖【3】)
使用aspectJ框架,还需导入:
5、org.springframework.aspects-3.1.1.RELEASE.jar(依赖【6】、【7】、【8】、【9】)
6、com.springsource.org.apache.commons.logging-1.1.1.jar
7、org.springframework.beans-3.1.1.RELEASE.jar(依赖【6】、【8】)
8、org.springframework.core-3.1.1.RELEASE.jar(依赖【6】)
9、org.springframework.context-3.1.1.RELEASE.jar(依赖【6】、【7】、【8】)
10、com.springsource.org.aspectj.runtime-1.6.12.RELEASE.jar(似乎可以不要,见【Spring 3.1包详解】)
11、com.springsource.org.aspectj.weaver-1.6.12.RELEASE.jar
如果项目不是面向接口编程,则还需要下载cglib包放到项目里,因为cglib包可以产生不面向接口的代理:
12、com.springsource.net.sf.cglib-2.2.0
另外,由于cglib底层实现使用了ASM,所以还需要导入Spring自带的:
13、org.springframework.asm-3.1.1.RELEASE.jar
【DataSource】
【使用c3p0需要导入】
com.springsource.com.mchange.v2.c3p0-0.9.1.2
【使用dbcp需要导入】
1、com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar(依赖【2】)
2、com.springsource.org.apache.commons.pool-1.5.3.jar
【使用Proxool需要导入】
1、com.springsource.org.logicalcobwebs.proxool-0.9.1(依赖【2】、【3】)
2、com.springsource.org.apache.commons.logging-1.1.1.jar
3、com.springsource.org.logicalcobwebs.cglib.core-0.9.1(依赖【4】)
4、com.springsource.net.sf.cglib-2.2.0.jar
【使用BoneCP需要导入】
1、bonecp-0.7.1.RELEASE.jar(在http://jolbox.com/requirements.html下载)(依赖【1】、【2】、【3】)
2、guava-11.0.2.jar(http://code.google.com/p/guava-libraries/wiki/Release11下载)
3、slf4j-api-1.6.4.jar(依赖【4】)
4、slf4j-nop-1.6.4.jar(如果要换成其他日志的实现,例如log4j,请自行替换成其他包)
5、jsr305-2.0.0.jar(据说本来是在JDK7中支持该标准的,但被推迟到了jdk8。 另外,我在官网中也没发现jdk7支持jsr305标准,下载地址
http://www.jarvana.com/jarvana/archive-details/com/google/code/findbugs/jsr305/2.0.0/jsr305-2.0.0.jar,下载后源码和二进制码事实
上都是在这个包里的)
【使用tomcat jdbc pool需要导入】
1、com.springsource.org.apache.tomcat.jdbc-1.0.9.3(依赖【2】)
2、com.springsource.org.apache.juli.extras.springsource-6.0.32.S2-r1673.jar ---- Apache Tomcat的JULI日志组件允许Web应用提供
自己的日志配置
希望以上内容对你有用。
转载请注明:http://www.cnblogs.com/iceJava/archive/2012/04/04/spring3jar.html
Spring 3.x jar 包详解 与 依赖关系的更多相关文章
- Spring 3.x jar 包详解 与 依赖关系(转)
以下的内容我会持续更新(当然是我有新发现的时候); 以下内容是我在网上搜索.整理.修改的而成的内容.由于很多内容都是转载了,无法追溯到源头,因此无法一一对原作者进行道谢. 这几天,我查阅大量的官方的文 ...
- Spring中的jar包详解
下面给大家说说spring众多jar包的特点吧,无论对于初学spring的新手,还是spring高手,这篇文章都会给大家带来知识上的收获,如果你已经十分熟悉本文内容就当做一次温故知新吧.spring. ...
- Spring jar包详解
Spring jar包详解 org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spri ...
- Spring——jar包详解(转)
Spring——jar包详解 org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现 org.springframework.asm——spr ...
- spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途
Spring4 Jar包详解 SpringJava Spring AOP: Spring的面向切面编程,提供AOP(面向切面编程)的实现 Spring Aspects: Spring提供的对Aspec ...
- Spring各个jar包详解
Spring各jar包详解 spring.jar 是包含有完整发布模块的单个jar 包.但是不包括mock.jar,aspects.jar, spring-portlet.jar, and sprin ...
- 【spring】jar包详解与模块依赖关系
以spring3.X为例 jar包详解 1. spring-core.jar:包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心: 2. spri ...
- Spring 下载与安装以及spring 3.2.9 jar包详解
一.Spring简介 Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更“高大上”的maven方式来管理所依赖的jar包,但是完全没想到中国的国情,在 ...
- 菜鸟学SSH(七)——Spring jar包详解
Struts.Hibernate.Spring这类的框架给我们开发带来非常大的好处,让我们更加快速.有效的开发.所以我们在开发中通常都会用到各种框架,每个框架都有很多jar包,每个jar都有各自不同的 ...
随机推荐
- 【iOS】block的使用
Block 是iOS在4.0之后新增的程式语法,一般用于回调方法,功能上和delegate类似.本文将讲解block的几种常见的使用方法,当然,block中最值得注意的还是它的内存管理,我将在< ...
- Spring的IOC逐层深入——依赖注入的两种实现类型
构造器注入 构造器注入,即通过构造函数完成依赖关系的设定.我们看一下spring的配置文件: <?xml version="1.0" encoding="UTF-8 ...
- Android进程管理及静态变量垃圾回收
1.Android静态变量的生命周期 静态变量的生命周期遵守Java的设计.我们知道静态变量是在类被load的时候分配内存的,并且存在于方法 区.当类被卸载的时候,静态变量被销毁. 在PC机的客户端程 ...
- IO流05--毕向东JAVA基础教程视频学习笔记
Day20 10 创建java文件列表11 Properties简述12 Properties存取13 Properties存取配置文件14 Properties练习15 PrintWriter16 ...
- Asp.net MVC验证那些事(1)-- 介绍和验证规则使用
数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validation来保证无论是新增或者更新数据的时候,都必须符合我们定义的验证规则,否则就会提示错误. ...
- SQL Tune Report–sqltrpt.sql
ORACLE 10g提供了一个脚本sqltrpt.sql用来查询最耗费资源的SQL语句,其输出的结果分为两部分: 15 Most expensive SQL in the cursor cache 1 ...
- Oracle11g的安装和基本使用
一:Oracle11g的安装过程(Windows版本)很简单,步骤为: 1. 首先从Oracle官方网站上下载Oracle11g数据库,大约为1.7G.解压后,setup.ext就可以开始安装 2. ...
- ibatis动态多条件查询及模糊查询(oracle,mysql,sql)
首先是模糊查询的问题,开始时我使用如下条件:select * from user where name like '%#value#%'. 可是怎么也不行,好像还报错了.后来在网上找到了解决方法,就是 ...
- java web 开发 购物车功能的实现
为了方便自己以后复习,所以写的比较仔细,记录下自己的成长..... 既然是做购物车,那么前提条件是首先需要一系列商品,也就是要建一个实体,这里建了一个商品表. 通过查询在浏览器上显示 基本显示已经做好 ...
- SQL Server调优系列基础篇(联合运算符总结)
前言 上两篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符的优化技巧,本篇我们总结联合运算符的使用方式和优化技巧. 废话少说,直接进入本篇的主题. 技术准备 基于SQL Server200 ...