mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-23 22:59:03 +00:00
Upgrade to docbook-reference-plugin v0.2.2 and remove custom xsl styles in favor of plugin defaults. Modify some docbook source files to work with newer style.
487 lines
16 KiB
XML
487 lines
16 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<book xml:id="spring-framework-reference"
|
|
xmlns="http://docbook.org/ns/docbook" version="5.0"
|
|
xmlns:xl="http://www.w3.org/1999/xlink"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="
|
|
http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd
|
|
http://www.w3.org/1999/xlink http://www.docbook.org/xml/5.0/xsd/xlink.xsd">
|
|
|
|
<info>
|
|
<title>Spring Framework Reference Documentation</title>
|
|
|
|
<productname>Spring Framework</productname>
|
|
|
|
<releaseinfo>${version}</releaseinfo>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<personname>
|
|
<firstname>Rod</firstname>
|
|
<surname>Johnson</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Juergen</firstname>
|
|
<surname>Hoeller</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Keith</firstname>
|
|
<surname>Donald</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Colin</firstname>
|
|
<surname>Sampaleanu</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Rob</firstname>
|
|
<surname>Harrop</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Thomas</firstname>
|
|
<surname>Risberg</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Alef</firstname>
|
|
<surname>Arendsen</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Darren</firstname>
|
|
<surname>Davison</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Dmitriy</firstname>
|
|
<surname>Kopylenko</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Mark</firstname>
|
|
<surname>Pollack</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Thierry</firstname>
|
|
<surname>Templier</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Erwin</firstname>
|
|
<surname>Vervaet</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Portia</firstname>
|
|
<surname>Tung</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Ben</firstname>
|
|
<surname>Hale</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Adrian</firstname>
|
|
<surname>Colyer</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>John</firstname>
|
|
<surname>Lewis</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Costin</firstname>
|
|
<surname>Leau</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Mark</firstname>
|
|
<surname>Fisher</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Sam</firstname>
|
|
<surname>Brannen</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Ramnivas</firstname>
|
|
<surname>Laddad</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Arjen</firstname>
|
|
<surname>Poutsma</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Chris</firstname>
|
|
<surname>Beams</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Tareq</firstname>
|
|
<surname>Abedrabbo</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Andy</firstname>
|
|
<surname>Clement</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Dave</firstname>
|
|
<surname>Syer</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Oliver</firstname>
|
|
<surname>Gierke</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Rossen</firstname>
|
|
<surname>Stoyanchev</surname>
|
|
</personname>
|
|
</author><author>
|
|
<personname>
|
|
<firstname>Phillip</firstname>
|
|
<surname>Webb</surname>
|
|
</personname>
|
|
</author>
|
|
</authorgroup>
|
|
|
|
<copyright>
|
|
<year>2004-2012</year>
|
|
</copyright>
|
|
|
|
<legalnotice>
|
|
<para>Copies of this document may be made for your own use and for
|
|
distribution to others, provided that you do not charge any fee for such
|
|
copies and further provided that each copy contains this Copyright
|
|
Notice, whether distributed in print or electronically.</para>
|
|
</legalnotice>
|
|
</info>
|
|
|
|
<!-- front matter -->
|
|
|
|
<toc></toc>
|
|
|
|
<part xml:id="spring-introduction">
|
|
<title>Overview of Spring Framework</title>
|
|
|
|
<partintro>
|
|
<para>The Spring Framework is a lightweight solution and a potential
|
|
one-stop-shop for building your enterprise-ready applications. However,
|
|
Spring is modular, allowing you to use only those parts that you need,
|
|
without having to bring in the rest. You can use the IoC container, with
|
|
Struts on top, but you can also use only the <link
|
|
linkend="orm-hibernate">Hibernate integration code</link> or the <link
|
|
linkend="jdbc-introduction">JDBC abstraction layer</link>. The Spring
|
|
Framework supports declarative transaction management, remote access to
|
|
your logic through RMI or web services, and various options for
|
|
persisting your data. It offers a full-featured <link
|
|
linkend="mvc-introduction">MVC framework</link>, and enables you to
|
|
integrate <link linkend="aop-introduction">AOP</link> transparently into
|
|
your software.</para>
|
|
|
|
<para>Spring is designed to be non-intrusive, meaning that your domain
|
|
logic code generally has no dependencies on the framework itself. In
|
|
your integration layer (such as the data access layer), some
|
|
dependencies on the data access technology and the Spring libraries will
|
|
exist. However, it should be easy to isolate these dependencies from the
|
|
rest of your code base.</para>
|
|
|
|
<para>This document is a reference guide to Spring Framework features.
|
|
If you have any requests, comments, or questions on this document,
|
|
please post them on the user mailing list or on the support forums at
|
|
<link xl:href="http://forum.springsource.org/"></link>.<!-- Missing link above. PDF shows it as http://forum.springsource.org/ --></para>
|
|
</partintro>
|
|
|
|
<xi:include href="overview.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
</part>
|
|
|
|
<part xml:id="spring-whats-new">
|
|
<title>What's New in Spring 3</title>
|
|
|
|
<xi:include href="new-in-3.0.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
<xi:include href="new-in-3.1.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
<xi:include href="new-in-3.2.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
</part>
|
|
|
|
<part xml:id="spring-core">
|
|
<title>Core Technologies</title>
|
|
|
|
<partintro>
|
|
<para>This part of the reference documentation covers all of those
|
|
technologies that are absolutely integral to the Spring
|
|
Framework.</para>
|
|
|
|
<para>Foremost amongst these is the Spring Framework's Inversion of
|
|
Control (IoC) container. A thorough treatment of the Spring Framework's
|
|
IoC container is closely followed by comprehensive coverage of Spring's
|
|
Aspect-Oriented Programming (AOP) technologies. The Spring Framework has
|
|
its own AOP framework, which is conceptually easy to understand, and
|
|
which successfully addresses the 80% sweet spot of AOP requirements in
|
|
Java enterprise programming.</para>
|
|
|
|
<para>Coverage of Spring's integration with AspectJ (currently the
|
|
richest - in terms of features - and certainly most mature AOP
|
|
implementation in the Java enterprise space) is also provided.</para>
|
|
|
|
<para>Finally, the adoption of the test-driven-development (TDD)
|
|
approach to software development is certainly advocated by the Spring
|
|
team, and so coverage of Spring's support for integration testing is
|
|
covered (alongside best practices for unit testing). The Spring team has
|
|
found that the correct use of IoC certainly does make both unit and
|
|
integration testing easier (in that the presence of setter methods and
|
|
appropriate constructors on classes makes them easier to wire together
|
|
in a test without having to set up service locator registries and
|
|
suchlike)... the chapter dedicated solely to testing will hopefully
|
|
convince you of this as well.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><xref linkend="beans" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="resources" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="validation" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="expressions" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="aop" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="aop-api" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="testing" /></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</partintro>
|
|
|
|
<xi:include href="beans.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="resources.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="validation.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="expressions.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="aop.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="aop-api.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="testing.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
</part>
|
|
|
|
<part xml:id="spring-data-tier">
|
|
<title>Data Access</title>
|
|
|
|
<partintro xml:id="spring-data-tier-intro">
|
|
<para>This part of the reference documentation is concerned with data
|
|
access and the interaction between the data access layer and the
|
|
business or service layer.</para>
|
|
|
|
<para>Spring's comprehensive transaction management support is covered
|
|
in some detail, followed by thorough coverage of the various data access
|
|
frameworks and technologies that the Spring Framework integrates
|
|
with.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><xref linkend="transaction" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="dao" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="jdbc" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="orm" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="oxm" /></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</partintro>
|
|
|
|
<xi:include href="transaction.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="dao.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="jdbc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="orm.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="oxm.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
</part>
|
|
|
|
<part xml:id="spring-web">
|
|
<title>The Web</title>
|
|
|
|
<partintro>
|
|
<para>This part of the reference documentation covers the Spring
|
|
Framework's support for the presentation tier (and specifically
|
|
web-based presentation tiers).</para>
|
|
|
|
<para>The Spring Framework's own web framework, <link
|
|
linkend="mvc">Spring Web MVC</link>, is covered in the first couple of
|
|
chapters. A number of the remaining chapters in this part of the
|
|
reference documentation are concerned with the Spring Framework's
|
|
integration with other web technologies, such as <link
|
|
linkend="struts">Struts</link> and <link linkend="jsf">JSF</link> (to
|
|
name but two).</para>
|
|
|
|
<para>This section concludes with coverage of Spring's MVC <link
|
|
linkend="portlet">portlet framework</link>.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><xref linkend="mvc" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="view" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="web-integration" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="portlet" /></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</partintro>
|
|
|
|
<xi:include href="mvc.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="view.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="web-integration.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="portlet.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
</part>
|
|
|
|
<part xml:id="spring-integration">
|
|
<title>Integration</title>
|
|
|
|
<partintro>
|
|
<para>This part of the reference documentation covers the Spring
|
|
Framework's integration with a number of Java EE (and related)
|
|
technologies.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><xref linkend="remoting" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="ejb" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="jms" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="jmx" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="cci" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="mail" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="scheduling" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="dynamic-language" /></para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><xref linkend="cache" /></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</partintro>
|
|
|
|
<xi:include href="remoting.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="ejb.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="jms.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="jmx.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="cci.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="mail.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="scheduling.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="dynamic-languages.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="cache.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
</part>
|
|
|
|
<part xml:id="spring-appendices">
|
|
<title>Appendices</title>
|
|
|
|
<xi:include href="classic-spring.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="classic-aop-spring.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="xsd-configuration.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="xml-custom.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="spring.tld.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
|
|
<xi:include href="spring-form.tld.xml"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude" />
|
|
</part>
|
|
</book>
|