spring.jar that contain a complete release of a single jar package, spring.jar includes spring-mock.jar where in addition to the contents contained in all other jar package, because only in the development environment under which it will use spring-mock . jar to carry out ancillary testing, formal application of the system is not the category.
In addition to spring.jar paper, Spring also includes other 13 separate jar packages, each containing the corresponding Spring components, users can choose according to their needs jar mix your own package, without having to introduce all of the spring.jar class file.
This jar file contains the Spring framework of the basic core tools, Spring should have to use other components to this bag, there are the other components of the basic core, of course, you can use in their own systems to use these tools.
The jar file is to be used in all applications, which includes access to the configuration files, create and manage bean as well as Inversion of Control / Dependency Injection (IoC / DI) related to the operation of all classes. If the application only need the basic IoC / DI support for the introduction of spring-core.jar and spring-beans.jar file on it.
This jar file contains the application to use Spring's AOP features required for class. AOP in Spring-based features such as declarative transaction management (Declarative Transaction Management), but also in the application where this jar contains the package.
The jar file for the Spring core provides a large-scale expansion. Can be found using the Spring ApplicationContext features all the required classes, JDNI all the required classes, UI areas used in conjunction with the template (Templating) engines such as Velocity, FreeMarker, JasperReports integration classes, as well as the related aspects of verification Validation class.
This jar file contains the Spring DAO, Spring Transaction data access to all classes. In order to use declarative transaction support, they need inside their own applications with spring-aop.jar.
This jar file contains the Spring for Hibernate 2 and Hibernate 3 encapsulation of all classes.
This jar file contains the right Spring encapsulation of JDBC data access to all classes.
This jar file contains the Spring for DAO feature set is expanded to support iBATIS, JDO, OJB, TopLink, because Hibernate has a separate package, and now not included in this package has. The jar file most of the classes rely on spring-dao.jar inside the class, you will need to use this package also includes spring-dao.jar package.
This jar file contains the support for EJB, JMS, remote calls Remoting (RMI, Hessian, Burlap, Http Invoker, JAX-RPC) in the class.
This jar file contains the support for caching Cache (ehcache), JCA, JMX, mail services (Java Mail, COS Mail), Task Scheduler Scheduling (Timer, Quartz) in the class.
This jar file contains the Web application development, the Spring framework to use the required core classes, including automatic loading feature WebApplicationContext class, Struts and JSF integration classes, file upload support classes, Filter class and a large number of tools for supporting classes.
This jar file contains the Spring MVC framework for all the related classes. Includes international, labels, Theme, the view showing the FreeMarker, JasperReports, Tiles, Velocity, XSLT-related classes. Of course, if your application uses a separate MVC framework, you do not need this JAR file in any class.
This jar file contains a set of mock classes to complement the Spring application testing. Spring test suite used in which a large number of mock classes, so testing is easier. Analog HttpServletRequest and HttpServletResponse classes unit tests in the Web application is very convenient.
How to choose the release package, decided to choose which release package actually quite simple. If you are building Web applications and consistent use of Spring, it is best to all of the spring.jar on the use of a single document; If your application only uses a simple Inversion of Control / Dependency Injection (IoC / DI) container, then the only spring-core.jar and spring-beans.jar can; if you release the size of the demanding, then have to carefully selected, and only the features they need to take the jar contains the file. Using an independent release package contains its own application you can avoid all the classes do not need to. Of course, you can use some other tools to try all the entire application package smaller, space-saving focus accurately identify their own needs, Spring dependency class, and then merge the required classes and packages on it. Eclispe have a plug-in called ClassPath Helper can help you look for depends on the class.
Spring package dependencies Description:
1) spring-core.jar need commons-collections.jar, spring-core.jar the following various other basic.
2) spring-beans.jar be spring-core.jar, cglib-nodep-2.1_3.jar
3) spring-aop.jar be spring-core.jar, spring-beans.jar, cglib-nodep-2.1_3.jar, aopalliance.jar
4) spring-context.jar be spring-core.jar, spring-beans.jar, spring-aop.jar, commons-collections.jar, aopalliance.jar
5) spring-dao.jar be spring-core.jar, spring-beans.jar, spring-aop.jar, spring-context.jar
6) spring-jdbc.jar be spring-core.jar, spring-beans.jar, spring-dao.jar
7) spring-web.jar be 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 be 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 be 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 be 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 be spring-core.jar, spring-beans.jar, spring-aop.jar, spring-dao.jar, spring-context.jar, spring-jdbc.jar
13) spring-mock.jar be spring-core.jar, spring-beans.jar, spring-dao.jar, spring-context.jar, spring-jdbc.jar