1, Spring2.0 compressed package directory Description
aspectj directory in the Spring framework to use aspectj source code and test program files.
Aspectj is the first java application framework for the provision of AOP.
dist directory is a Spring release package, on the promulgation of package below in more detail explanation.
docs directory is relevant documentation, including Spring api's javadoc, reference reference guide, Spring's tag library using the documents and Spring MVC's MVC-step-by-step Explanation and examples. Are well documented, it is worth a good look.
lib directory is the Spring rely on third-party open source packages.
mock directory is a Spring assisted Mock source application testing.
samples directory is an example of Spring source code and a simple example of the framework of the examples webapp configuration, it is worth a good study are jpetstore and petclinic, of course, other countries, imagedb, tiles-example can also be a good reference.
src directory is the Spring of the source.
test directory for unit test Spring source.
tiger directory is targeted at the Spring framework to use java 1.5 source code and test procedures. Tiger is a jdk 1.5 version of the development code.
The root directory and other documents compiled and documentation.
2, Spring package structure description
Next, explain in detail dist directory jar related to the contents of the package. Understand these elements will help us reduce the size of the release package, but also can increase the Spring framework for understanding.
spring.jar modules that contain a complete release of a single jar package. But does not include mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2.jar.
spring-src.zip is that all the source code tarball.
In addition to spring.jar paper, Spring also includes 21 other independent 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 must 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.
External dependencies Commons Logging, (Log4J).
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.
External dependencies spring-core, (CGLIB).
This jar file contains the application to use Spring's AOP features required for class and source-level metadata support. AOP in Spring-based features such as declarative transaction management (Declarative Transaction Management), but also in the application where this jar contains the package.
External dependencies spring-core, (spring-beans, AOP Alliance, CGLIB, Commons Attributes).
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, instrumentation components, and related aspects of verification Validation class.
External dependencies spring-beans, (spring-aop).
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.
External dependencies spring-core, (spring-aop, spring-context, JTA API).
This jar file contains the right Spring encapsulation of JDBC data access to all classes.
External dependencies spring-beans, spring-dao.
This jar file contains the support of UI templates (Velocity, FreeMarker, JasperReports), mail services, scripting services (JRuby), Cache Cache (EHCache), Task Scheduler Scheduling (uartz) in the class.
External dependencies spring-context, (spring-jdbc, Velocity, FreeMarker, JasperReports, BSH, Groovy, JRuby, Quartz, EHCache)
This jar file contains the Web application development, the Spring framework to use the required core classes, including automatic loading Web Application Context feature classes, Struts and JSF integration classes, file upload support classes, Filter class and a large number of tools for supporting class.
External dependencies spring-context, Servlet API, (JSP API, JSTL, Commons FileUpload, COS).
This jar file contains the Spring MVC framework for all the related classes. Including the framework for Servlets, Web MVC framework, controllers and views to support. Of course, if your application uses a separate MVC framework, you do not need this JAR file in any class.
External dependencies spring-web, (spring-support, Tiles, iText, POI).
spring itself to achieve a similar Spring MVC framework. Includes a MVC framework and controller.
External dependencies spring-web, Portlet API, (spring-webmvc).
Struts framework support, can more easily integrate Struts framework more easily.
External dependencies spring-web, Struts.
This jar file contains the support for EJB, remote calls Remoting (RMI, Hessian, Burlap, Http Invoker, JAX-RPC) in the class.
External dependencies spring-aop, (spring-context, spring-web, Hessian, Burlap, JAX-RPC, EJB API).
This jar package provides JMX 1.0/1.2 support classes.
External dependencies spring-beans, spring-aop, JMX API.
This jar package provides support for JMS 1.0.2/1.1 class.
External dependencies spring-beans, spring-dao, JMS API.
On the JCA 1.0 support.
External dependencies spring-beans, spring-dao, JCA API.
Right JDO 1.0/2.0 support.
External dependencies spring-jdbc, JDO API, (spring-web).
On the JPA 1.0 support.
External dependencies spring-jdbc, JPA API, (spring-web).
The support of the Hibernate 2.1, has not recommended.
External dependencies spring-jdbc, Hibernate2, (spring-web).
On the Hibernate 3.0/3.1/3.2 support.
External dependencies spring-jdbc, Hibernate3, (spring-web).
TopLink framework of support.
External dependencies spring-jdbc, TopLink.
Pairs of iBATIS SQL Maps support.
External dependencies spring-jdbc, iBATIS SQL Maps.
The other two packages.
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. And provides support for JUnit.
External dependencies spring-core.
AspectJ provides support so that it can easily aspect-oriented features will be integrated into the IDE, such as the Eclipse AJDT.
WEAVER JARS (dist / weavers) Description.
Spring's InstrumentationSavingAgent (for InstrumentationLoadTimeWeaver), a device proxy package, can refer to the JDK1.5 of Instrumentation features for more information.
External dependencies none (for use at JVM startup: "-javaagent: spring-agent.jar").
Expansion of Tomcat's ClassLoader, so that it can use the instrumentation (equipment) type.
External dependencies none (for deployment into Tomcat's "server / lib" directory).