Original address: Http://my.oschina.net/huhaoren/blog/300856?p=1
Spring.jar is a single jar package that contains a full release, and the Spring.jar contains all but The contents of all the other jar packages contained in the Spring-mock.jar, because only in the development environment will use the Spring-mock.jar to carry out the auxiliary testing, the formal application system is not used in these classes.
In addition to the Spring.jar file, Spring includes 13 other separate jar packages, each containing a corresponding spring component, which allows the user to choose to assemble their own jar packages, rather than having to introduce all of the Spring.jar's class files.
(1) Spring-core.jar
This jar file contains the basic core tool classes of the spring framework, and the other components of the spring are used in the class of the package, the basic core of other components, and of course you can use these tools in your own application system.
(2) Spring-beans.jar
This jar file is used by all applications and contains all classes that access the configuration file, create and manage beans, and perform inversion of control/dependency injection (IOC/DI) operations. If the application requires only basic Ioc/di support, the introduction of Spring-core.jar and Spring-beans.jar files is possible.
(3) Spring-aop.jar
This jar file contains the classes required to use the Spring AOP feature in your app. Using the spring features based on AOP, such as declarative transaction management (declarative Transaction Management), also include this jar package in your application.
(4) Spring-context.jar
This jar file provides a number of extensions to the spring core. You can find all the classes you need to use the Spring ApplicationContext feature, Jdni all the classes that you need, and the UI aspects used with the template (templating) engine such as Velocity, Freemarker, JasperReports integrated classes, and related classes for verifying validation.
(5) Spring-dao.jar
This jar file contains all the classes of spring DAO, spring transaction for data access. In order to use declarative transaction support, you also need to include Spring-aop.jar in your own application.
(6) Spring-hibernate.jar
This jar file contains all of the classes that spring encapsulates for Hibernate 2 and Hibernate 3.
(7) Spring-jdbc.jar
This jar file contains all the classes that encapsulate spring's JDBC data access.
(8) Spring-orm.jar
This jar file contains spring to extend the DAO feature set to support IBATIS, JDO, OJB, TopLink, because Hibernate is already in its own package and is now not included in the package. Most of the classes in this jar file depend on the class in Spring-dao.jar, and you need to include the Spring-dao.jar package when using this package.
(9) Spring-remoting.jar
This jar file contains classes that support EJB, JMS, Remote call Remoting (RMI, Hessian, Burlap, Http Invoker, Jax-RPC).
(Ten) Spring-support.jar
This jar file contains classes that support cache caches (Ehcache), JCA, JMX, mail services (Java mail, COS Mail), Task Scheduler scheduling (Timer, Quartz).
(one) Spring-web.jar
This jar file contains the core classes required to use the spring framework when developing Web applications, including classes that automatically load the Webapplicationcontext attribute, struts and JSF integration classes, File upload support classes, the filter class, and a large number of tool helper classes.
(Spring-webmvc.jar)
This jar file contains all the classes related to the Spring MVC framework. Contains Freemarker, JasperReports, Tiles, Velocity, and XSLT related classes for internationalization, labeling, Theme, view presentation. Of course, if your app uses a stand-alone MVC framework, you don't need any classes in this jar file.
(Spring-mock.jar)
This jar file contains the spring set of mock classes to aid in the testing of the application. The Spring test suite uses a large number of these mock classes, which makes testing easier. Simulating the HttpServletRequest and HttpServletResponse classes is convenient for Web application unit testing.
How to choose these packages and decide which ones to use is fairly straightforward. If you're building a web app and will use spring all the way, it's best to use a single full Spring.jar file, if your app simply uses a simple inversion of control/dependency injection (ioc/ DI) container, then just Spring-core.jar and Spring-beans.jar, and if you have a high size requirement for the release, then you have to pick it up and take only the jar file that contains the features you want. With a standalone release package you can avoid including all classes that your app doesn't need. Of course, you can use other tools to make the entire application package smaller, and the space-saving focus is to pinpoint the spring dependent classes you need, and then merge the required classes and packages. Eclispe has a plugin called ClassPath helper that can help you find the classes you depend on.
Org.springframework.aop--spring aspect-oriented programming, which provides AOP (aspect-oriented programming) implementation
org.springframework.asm--spring 2.5.6 need asm jar package, spring3.0 start to provide its own independent ASM jar Package
Integration of the ASPECTJ framework provided by org.springframework.aspects--spring
org.springframework.beans--all applications, including access profiles, creation and management of beans, are the basis of the spring IOC implementation.
Extended support for the org.springframework.context.support--spring context for MVC
org.springframework.context--provides extended services on basic IOC capabilities, as well as support for many enterprise-class services, such as mail services, task scheduling, jndi positioning, EJB integration, remote access, caching, and multiple view layer frameworks.
Org.springframework.core--spring Core Toolkit, other packages depend on this package
Org.springframework.expression--spring Expression Language
Org.springframework.instrument.tomcat--spring integration of the Tomcat connection pool
Org.springframework.instrument--spring Agent interface to the server
org.springframework.jdbc--Simple encapsulation of JDBC
org.springframework.jms--simple encapsulation for simplifying the use of the JMS API
org.springframework.orm--integrates third-party ORM implementations, such as HIBERNATE,IBATIS,JDO and the JPA implementations of spring
Org.springframework.oxm--spring support for Object/xml mappings allows you to switch back and forth between Java and XML
org.springframework.test--simple encapsulation of test frameworks such as JUnit
org.springframework.transaction--declarative and simple programmatic transaction management for JDBC,HIBERNATE,JDO and JPA
Enhancements to org.springframework.web.portlet--spring MVC
org.springframework.web.servlet--Support for j2ee6.0 servlet3.0
The support of the org.springframework.web.struts--integrated struts framework makes it easier and easier to integrate the struts framework.
org.springframework.web--contains the core classes required to use the spring framework when developing Web applications, including classes that automatically load Webapplicationcontext features, struts and JSF integration classes, File upload support classes, Filter class and a large number of tool helper classes.
Spring Package Dependency Description:
1) Spring-core.jar need Commons-collections.jar,spring-core.jar is the following other basic.
2) Spring-beans.jar need Spring-core.jar,cglib-nodep-2.1_3.jar
3) Spring-aop.jar need Spring-core.jar,spring-beans.jar,cglib-nodep-2.1_3.jar,aopalliance.jar
4) Spring-context.jar need Spring-core.jar,spring-beans.jar,spring-aop.jar,commons-collections.jar,aopalliance.jar
5) Spring-dao.jar Need Spring-core.jar,spring-beans.jar,spring-aop.jar,spring-context.jar
6) Spring-jdbc.jar need Spring-core.jar,spring-beans.jar,spring-dao.jar
7) Spring-web.jar need Spring-core.jar,spring-beans.jar,spring-context.jar
8) Spring-webmvc.jar need Spring-core.jar/spring-beans.jar/spring-context.jar/spring-web.jar
9) Spring-hibernate.jar need spring-core.jar,spring-beans.jar,spring-aop.jar,spring- Dao.jar,spring-jdbc.jar,spring-orm.jar,spring-web.jar,spring-webmvc.jar
Spring-orm.jar need spring-core.jar,spring-beans.jar,spring-aop.jar,spring- Dao.jar,spring-jdbc.jar,spring-web.jar,spring-webmvc.jar
One) Spring-remoting.jar need 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 need Spring-core.jar,spring-beans.jar,spring-aop.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar
Spring-mock.jar need Spring-core.jar,spring-beans.jar,spring-dao.jar,spring-context.jar,spring-jdbc.jar
Go Spring--jar Package Detailed