这是(shì)spring-orm.jar下载,是包含有完整发布的(de)单个jar包,spring.jar中(zhōng)包含除了 spring-mock.jar里所包含的内(nèi)容外其它所有jar包的(de)内容(róng),因为只有在开(kāi)发环境下才会用(yòng)到spring-mock.jar来进行辅助测试,正式(shì)应用系统中(zhōng)是用不得(dé)这些类的。
spring-orm.jar的框架给我们开发带来非常大(dà)的好处,让我们更加快速(sù)、有效的开发。所以我们在(zài)开发中通常都会用到(dào)各种框架,每个框架(jià)都有(yǒu)很多jar包,每个jar都有(yǒu)各自不(bú)同(tóng)的功能。开发(fā)不(bú)同(tóng)的功能用(yòng)到的jar也不尽相(xiàng)同,所以当我们用(yòng)到相关框架的时候,并(bìng)不是把它所有的jar都(dōu)引(yǐn)入系统(tǒng)。那么怎么确定自己将会(huì)用到框架中的(de)哪些jar包呢?这就需要我们知道(dào)框架中每个jar都是干(gàn)什么(me)的。今天我先向大家介绍一下Spring的相关jar包。Follow me!
1) spring-core.jar需commons-collections.jar,spring-core.jar是以下其它各个(gè)的基本。
2) spring-beans.jar需spring-core.jar,cglib-nodep-2.1_3.jar
3) spring-aop.jar需(xū)spring-core.jar,spring-beans.jar,cglib-nodep-2.1_3.jar,aopalliance.jar
4) spring-context.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar
5) spring-dao.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-context.jar
6) spring-jdbc.jar需spring-core.jar,spring-beans.jar,spring-dao.jar
7) spring-web.jar需(xū)spring-core.jar,spring-beans.jar,spring-context.jar
8) spring-webmvc.jar需(xū)spring-core.jar/spring-beans.jar/spring-context.jar/spring-web.jar
9) spring -hibernate.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-jdbc.jar,spring-orm.jar,spring-web.jar,spring-webmvc.jar
10) spring-orm.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-jdbc.jar,spring-web.jar,spring-webmvc.jar
11) spring -remoting.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring- dao.jar,spring-context.jar,spring-web.jar,spring-webmvc.jar
12) spring-support.jar需spring-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-context.jar,spring-jdbc
1) spring-core.jar 这个(gè)jar文件(jiàn)包含Spring框架(jià)基(jī)本(běn)的(de)核心工具类,Spring其它组件要都要使(shǐ)用(yòng)到这个包里的(de)类(lèi),是(shì)其它组件的基本核心,当然你也可以(yǐ)在(zài)自己的应用系(xì)统中使用这些工具类(lèi)。
(2) spring-beans.jar 这个jar文件(jiàn)是所有应用(yòng)都要用到的,它包含访问配置文件、创建和管理bean以及进(jìn)行Inversion of Control / Dependency Injection(IoC/DI)操作相关的(de)所(suǒ)有类。如果(guǒ)应用只需基本的IoC/DI支持,引(yǐn)入spring-core.jar及spring- beans.jar文(wén)件就可以了。
(3) spring-aop.jar 这个(gè)jar文件包含在应用中使用Spring的(de)AOP特性(xìng)时所需(xū)的类。使用基于(yú)AOP的Spring特性(xìng),如(rú)声明型事务管理(Declarative Transaction Management),也要在应(yīng)用里包含(hán)这个jar包。
(4) spring-context.jar 这个jar文件为Spring核心(xīn)提供了大量扩展(zhǎn)。可以找到(dào)使用Spring ApplicationContext特性时所需的全部类(lèi),JDNI所需(xū)的全(quán)部类,UI方(fāng)面的用来与模板(Templating)引(yǐn)擎如 Velocity、FreeMarker、JasperReports集成的(de)类,以及校验Validation方面的相关类。
(5) spring-dao.jar 这(zhè)个jar文件包(bāo)含(hán)Spring DAO、Spring Transaction进行数据访问(wèn)的所(suǒ)有类。为了使用声明型事(shì)务(wù)支持,还需在自己的应用里包含(hán)spring-aop.jar。
(6) spring-hibernate.jar 这个jar文件包含Spring对Hibernate 2及Hibernate 3进行(háng)封装的所有类。
(7) spring-jdbc.jar 这(zhè)个jar文件包含(hán)对(duì)Spring对JDBC数据访(fǎng)问进行封装的所(suǒ)有类。
(8) spring-orm.jar 这(zhè)个jar文件(jiàn)包(bāo)含Spring对DAO特性集进(jìn)行了扩展(zhǎn),使其支持(chí) iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这(zhè)个包里了(le)。这个jar文件里大部分的类都要依(yī)赖 spring-dao.jar里的类,用(yòng)这个包时你(nǐ)需要同时包含(hán)spring-dao.jar包。
(9) spring-remoting.jar 这个jar文件包(bāo)含支持EJB、JMS、远程(chéng)调(diào)用Remoting(RMI、Hessian、Burlap、Http Invoker、JAX-RPC)方面的类。
(10) spring-support.jar 这个(gè)jar文件包含支(zhī)持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。
(11) spring-web.jar 这个jar文件包(bāo)含Web应用开发时,用到(dào)Spring框架时所(suǒ)需的核心(xīn)类,包(bāo)括(kuò)自动载入WebApplicationContext特(tè)性的类、 Struts与JSF集成类(lèi)、文件上(shàng)传的支持类(lèi)、Filter类和大量工具辅助类。
(12) spring-webmvc.jar 这个jar文件包含(hán)Spring MVC框架相关的所有类。包含国(guó)际化、标(biāo)签(qiān)、Theme、视图展现(xiàn)的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果(guǒ)你的应用使用了独立的(de)MVC框架,则无需这(zhè)个(gè)JAR文件里的任何类。
(13) spring-mock.jar 这个jar文件包含Spring一整套mock类来辅助应用的测试。Spring测试套件使用了其(qí)中大量mock类,这样测试就更加简单。模(mó)拟 HttpServletRequest和HttpServletResponse类在Web应用单元测试是很方(fāng)便的。
如(rú)何选择这些(xiē)发布包,决(jué)定选用哪些发布包其实相当简单(dān)。如(rú)果你正在(zài)构建Web应(yīng)用并(bìng)将全程(chéng)使用(yòng)Spring,那么最好就使用(yòng)单(dān)个全部的(de) spring.jar文(wén)件(jiàn);如果你的应用(yòng)仅仅用到简单的Inversion of Control / Dependency Injection(IoC/DI)容器(qì),那么只需spring-core.jar与spring-beans.jar即(jí)可(kě);如果你对发布的大小(xiǎo)要求很(hěn)高,那么(me)就得精挑细选了,只取包含自己所需特性的jar文件了。采用(yòng)独立的发布(bù)包你(nǐ)可以避免(miǎn)包含自己的应用不需要的(de)全部(bù)类。当然你可以采(cǎi)用其它的一些工具来设(shè)法令整个应用包变小,节省空间(jiān)的重点在于准确地找出自己所需的Spring依赖类(lèi),然后(hòu)合并所需(xū)的类与包(bāo)就可以了。Eclispe有个(gè)插件叫 ClassPath Helper可以帮你找(zhǎo)找所依赖的类。
