提交 86b5066a 编写于 作者: C Chris Beams

Fix minor problems and polish reference docs

Problems

 - Eliminate — in favor of —

   — was causing 'no such entity' errors during docbook
   processing; — produces the equivalent output.

 - Fix column issues in appendices

   column counts were set to 3, when they are in fact 4. This passed
   under DocBook 4 and Spring Build for unknown reasons, but caused a
   hard stop under DocBook 5 and the docbook-reference-plugin.

 - Add jdbc callout section in docbook 5-friendly style

   use <co/> tags as advertised in DocBook documentation.

 - Set correct widths for PDF ref doc images

   images were rendering larger than the PDF page; just set all to
   width=400 and everything looks good.

Polish

 - Update reference doc copyright to 2012

 - Remove "work-in-progress" language from ref docs

 - Update maven URLs to repo.springsource.org

 - Update javadoc urls from 3.0.x/javadoc-api => current/api

 - Replace hardcoded "3.1" with ${version} in ref doc
上级 7a3aa705
......@@ -73,14 +73,14 @@
&lt;/beans&gt;</programlisting>
<para>(The implicitly registered post-processors include <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/beans/factory/annotation/AutowiredAnnotationBeanPostProcessor.html"
><classname>AutowiredAnnotationBeanPostProcessor</classname></ulink>, <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/annotation/CommonAnnotationBeanPostProcessor.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/context/annotation/CommonAnnotationBeanPostProcessor.html"
><classname>CommonAnnotationBeanPostProcessor</classname></ulink>, <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/orm/jpa/support/PersistenceAnnotationBeanPostProcessor.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/orm/jpa/support/PersistenceAnnotationBeanPostProcessor.html"
><classname>PersistenceAnnotationBeanPostProcessor</classname></ulink>, as
well as the aforementioned <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/annotation/RequiredAnnotationBeanPostProcessor.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/beans/factory/annotation/RequiredAnnotationBeanPostProcessor.html"
><classname>RequiredAnnotationBeanPostProcessor</classname></ulink>.)</para>
<note>
......@@ -639,7 +639,7 @@ public @interface MovieQualifier {
<title><classname>CustomAutowireConfigurer</classname></title>
<para>The <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/annotation/CustomAutowireConfigurer.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/beans/factory/annotation/CustomAutowireConfigurer.html"
><classname>CustomAutowireConfigurer</classname></ulink> is a
<interfacename>BeanFactoryPostProcessor</interfacename> that enables you
to register your own custom qualifier annotation types even if they are
......@@ -720,7 +720,7 @@ public @interface MovieQualifier {
the <interfacename>ApplicationContext</interfacename> of which the
<classname>CommonAnnotationBeanPostProcessor</classname> is aware. The
names can be resolved through JNDI if you configure Spring's <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/jndi/support/SimpleJndiBeanFactory.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/jndi/support/SimpleJndiBeanFactory.html"
><classname>SimpleJndiBeanFactory</classname></ulink> explicitly.
However, it is recommended that you rely on the default behavior and
simply use Spring's JNDI lookup capabilities to preserve the level of
......
......@@ -391,7 +391,7 @@ public class MovieFinderImpl implements MovieFinder {
<note>
<para>If you do not want to rely on the default bean-naming strategy, you
can provide a custom bean-naming strategy. First, implement the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/support/BeanNameGenerator.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/beans/factory/support/BeanNameGenerator.html"
><interfacename>BeanNameGenerator</interfacename></ulink> interface, and
be sure to include a default no-arg constructor. Then, provide the
fully-qualified class name when configuring the scanner:</para>
......@@ -428,7 +428,7 @@ public class MovieFinderImpl implements MovieFinder {
<note>
<para>To provide a custom strategy for scope resolution rather than
relying on the annotation-based approach, implement the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/annotation/ScopeMetadataResolver.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/context/annotation/ScopeMetadataResolver.html"
><interfacename>ScopeMetadataResolver</interfacename></ulink> interface,
and be sure to include a default no-arg constructor. Then, provide the
fully-qualified class name when configuring the scanner:</para>
......
......@@ -13,7 +13,7 @@
functionality for managing and manipulating beans, including in a
programmatic way. The <literal>org.springframework.context</literal> package
adds the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/ApplicationContext.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/context/ApplicationContext.html"
><interfacename>ApplicationContext</interfacename></ulink> interface, which
extends the <interfacename>BeanFactory</interfacename> interface, in
addition to extending other interfaces to provide additional functionality
......@@ -635,7 +635,7 @@ argument.required=Ebagum lad, the '{0}' argument is required, I say, required.</
<interfacename>TaskExecutor</interfacename> abstraction.</para>
<para>Check out the JavaDoc of the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/jca/context/SpringContextResourceAdapter.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/jca/context/SpringContextResourceAdapter.html"
>SpringContextResourceAdapter</ulink> class for the configuration details
involved in RAR deployment.</para>
......
......@@ -231,7 +231,7 @@ org.springframework.scripting.groovy.GroovyMessenger@272961</programlisting>
<para>Using callback interfaces or annotations in conjunction with a
custom <interfacename>BeanPostProcessor</interfacename> implementation
is a common means of extending the Spring IoC container. An example is
Spring's <classname>RequiredAnnotationBeanPostProcessor</classname> &mdash; a
Spring's <classname>RequiredAnnotationBeanPostProcessor</classname> &#151; a
<interfacename>BeanPostProcessor</interfacename> implementation that
ships with the Spring distribution which ensures that JavaBean
properties on beans that are marked with an (arbitrary) annotation are
......
......@@ -95,7 +95,7 @@
<para>As of Spring 3.0, a <emphasis>thread scope</emphasis> is available,
but is not registered by default. For more information, see the
documentation for <ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/support/SimpleThreadScope.html"
url="http://static.springsource.org/spring/docs/current/api/org/springframework/context/support/SimpleThreadScope.html"
>SimpleThreadScope</ulink>. For instructions on how to register this or
any other custom scope, see <xref
linkend="beans-factory-scopes-custom-using"/>.</para>
......@@ -118,7 +118,8 @@
<para><mediaobject>
<imageobject role="fo">
<imagedata align="center" fileref="images/singleton.png" format="PNG"/>
<imagedata align="center" fileref="images/singleton.png" format="PNG"
width="400"/>
</imageobject>
<imageobject role="html">
......@@ -163,7 +164,8 @@
<para><mediaobject>
<imageobject role="fo">
<imagedata align="center" fileref="images/prototype.png" format="PNG"/>
<imagedata align="center" fileref="images/prototype.png" format="PNG"
width="400" />
</imageobject>
<imageobject role="html">
......@@ -556,7 +558,7 @@
implement your own scopes, see the <interfacename>Scope</interfacename>
implementations that are supplied with the Spring Framework itself and
the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/config/Scope.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/beans/factory/config/Scope.html"
>Scope Javadoc</ulink>, which explains the methods you need to implement
in more detail.</para>
......
......@@ -150,7 +150,7 @@ component-scanning in the exact same way as when using Spring annotations:
<row>
<entry>@Component</entry>
<entry>@Named</entry>
<entry>&mdash;</entry>
<entry>&#151;</entry>
</row>
<row>
<entry>@Scope("singleton")</entry>
......@@ -174,21 +174,21 @@ component-scanning in the exact same way as when using Spring annotations:
<row>
<entry>@Qualifier</entry>
<entry>@Named</entry>
<entry>&mdash;</entry>
<entry>&#151;</entry>
</row>
<row>
<entry>@Value</entry>
<entry>&mdash;</entry>
<entry>&#151;</entry>
<entry>no equivalent</entry>
</row>
<row>
<entry>@Required</entry>
<entry>&mdash;</entry>
<entry>&#151;</entry>
<entry>no equivalent</entry>
</row>
<row>
<entry>@Lazy</entry>
<entry>&mdash;</entry>
<entry>&#151;</entry>
<entry>no equivalent</entry>
</row>
</tbody>
......
......@@ -29,11 +29,11 @@ The footnote should x-ref to first section in that chapter but I can't find the
<para>The <literal>org.springframework.beans</literal> and
<literal>org.springframework.context</literal> packages are the basis for
Spring Framework's IoC container. The <interfacename><ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/BeanFactory.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/beans/factory/BeanFactory.html"
>BeanFactory</ulink></interfacename> interface provides an advanced
configuration mechanism capable of managing any type of object.
<literal><ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/ApplicationContext.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/context/ApplicationContext.html"
>ApplicationContext</ulink></literal> is a sub-interface of
<interfacename>BeanFactory.</interfacename> It adds easier integration
with Spring's AOP features; message resource handling (for use in
......@@ -80,9 +80,9 @@ The footnote should x-ref to first section in that chapter but I can't find the
<classname>ApplicationContext</classname> interface are supplied
out-of-the-box with Spring. In standalone applications it is common to
create an instance of <ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/support/ClassPathXmlApplicationContext.html"
url="http://static.springsource.org/spring/docs/current/api/org/springframework/context/support/ClassPathXmlApplicationContext.html"
><classname>ClassPathXmlApplicationContext</classname></ulink> or <ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/support/FileSystemXmlApplicationContext.html"
url="http://static.springsource.org/spring/docs/current/api/org/springframework/context/support/FileSystemXmlApplicationContext.html"
><classname>FileSystemXmlApplicationContext</classname></ulink>.
<!-- MLP: Beverly to review --> While XML has been the traditional format
for defining configuration metadata you can instruct the container to use
......@@ -109,7 +109,7 @@ The footnote should x-ref to first section in that chapter but I can't find the
<para><mediaobject>
<imageobject>
<imagedata align="center" fileref="images/container-magic.png"
format="PNG"/>
format="PNG" width="400" />
</imageobject>
<caption><para>The Spring IoC container</para></caption>
......@@ -1170,7 +1170,7 @@ cfg.postProcessBeanFactory(factory);</programlisting>
a single ApplicationContext as a parent to WebApplicationContexts across
WAR files. In this case you should look into using the utility class
<ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/context/access/ContextSingletonBeanFactoryLocator.html"
url="http://static.springsource.org/spring/docs/current/api/org/springframework/context/access/ContextSingletonBeanFactoryLocator.html"
><classname>ContextSingletonBeanFactoryLocator</classname></ulink>
locator that is described in this <ulink
url="http://blog.springsource.com/2007/06/11/using-a-shared-parent-application-context-in-a-multi-war-spring-application/"
......
......@@ -59,8 +59,14 @@
hierarchy.)</para>
<mediaobject>
<imageobject>
<imagedata align="center" fileref="images/DataAccessException.gif" />
<imageobject role="fo">
<imagedata align="center" fileref="images/DataAccessException.gif"
format="PNG" width="400"/>
</imageobject>
<imageobject role="html">
<imagedata align="center" fileref="images/DataAccessException.gif"
format="PNG" width="400"/>
</imageobject>
</mediaobject>
</section>
......
......@@ -4,11 +4,11 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink">
<bookinfo>
<title>Reference Documentation</title>
<title>Spring Framework Reference Manual</title>
<productname>Spring Framework</productname>
<releaseinfo>3.1</releaseinfo>
<releaseinfo>${version}</releaseinfo>
<mediaobject>
<imageobject role="fo">
......@@ -182,7 +182,7 @@
</authorgroup>
<copyright>
<year>2004-2011</year>
<year>2004-2012</year>
<holder>Rod Johnson, Juergen Hoeller, Keith Donald, Colin Sampaleanu,
Rob Harrop, Alef Arendsen, Thomas Risberg, Darren Davison, Dmitriy
......@@ -509,9 +509,8 @@
<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>
......@@ -2600,93 +2600,74 @@ public class TitlesAfterDateStoredProcedure extends StoredProcedure {
of a <classname>DefaultLobHandler</classname>. You typically set this
value through dependency injection.<!--Rewording ok? (What does what through dependency injection?) TR: Revised.--></para>
<!--
<programlistingco>
<areaspec>
<area coords="8" id="jdbc.lobhandler.variableref" />
<area coords="12" id="jdbc.lobhandler.setClob" />
<area coords="13" id="jdbc.lobhandler.setBlob" />
</areaspec>
<programlisting language="java">final File blobIn = new File("spring2004.jpg");
<programlisting language="java"><![CDATA[final File blobIn = new File("spring2004.jpg");
final InputStream blobIs = new FileInputStream(blobIn);
final File clobIn = new File("large.txt");
final InputStream clobIs = new FileInputStream(clobIn);
final InputStreamReader clobReader = new InputStreamReader(clobIs);
jdbcTemplate.execute(
"INSERT INTO lob_table (id, a_clob, a_blob) VALUES (?, ?, ?)",
new AbstractLobCreatingPreparedStatementCallback(lobHandler) {
new AbstractLobCreatingPreparedStatementCallback(lobHandler) {]]><co id="lobHandler"/><![CDATA[
protected void setValues(PreparedStatement ps, LobCreator lobCreator)
throws SQLException {
ps.setLong(1, 1L);
lobCreator.setClobAsCharacterStream(ps, 2, clobReader, (int)clobIn.length());
lobCreator.setBlobAsBinaryStream(ps, 3, blobIs, (int)blobIn.length());
lobCreator.setClobAsCharacterStream(ps, 2, clobReader, (int)clobIn.length());]]><co id="setClobAsCharacterStream"/><![CDATA[
lobCreator.setBlobAsBinaryStream(ps, 3, blobIs, (int)blobIn.length());]]><co id="setBlobAsBinaryStream"/><![CDATA[
}
}
);
blobIs.close();
clobReader.close();</programlisting>
<calloutlist>
<callout arearefs="jdbc.lobhandler.variableref">
<para>Pass in the lobHandler that in this example is a plain
<classname>DefaultLobHandler</classname></para>
</callout>
<callout arearefs="jdbc.lobhandler.setClob">
<para>Using the method
<classname>setClobAsCharacterStream</classname>, pass in the
contents of the CLOB.</para>
</callout>
<callout arearefs="jdbc.lobhandler.setBlob">
<para>Using the method
<classname>setBlobAsBinaryStream</classname>, pass in the contents
of the BLOB.</para>
</callout>
</calloutlist>
</programlistingco>
-->
clobReader.close();]]></programlisting>
<calloutlist>
<callout arearefs="lobHandler">
<para>Pass in the lobHandler that in this example is a plain
<classname>DefaultLobHandler</classname></para>
</callout>
<callout arearefs="setClobAsCharacterStream">
<para>Using the method
<classname>setClobAsCharacterStream</classname>, pass in the
contents of the CLOB.</para>
</callout>
<callout arearefs="setBlobAsBinaryStream">
<para>Using the method
<classname>setBlobAsBinaryStream</classname>, pass in the contents
of the BLOB.</para>
</callout>
</calloutlist>
<para>Now it's time to read the LOB data from the database. Again, you
use a <code>JdbcTemplate</code> with the same instance variable
<code>l</code><code>obHandler </code>and a reference to a
<classname>DefaultLobHandler</classname>.</para>
<para><!--<programlistingco>
<areaspec>
<area coords="5" id="jdbc.lobhandler.getClob" />
<area coords="7" id="jdbc.lobhandler.getBlob" />
</areaspec>
<programlisting language="java">List&lt;Map&lt;String, Object&gt;&gt; l = jdbcTemplate.query("select id, a_clob, a_blob from lob_table",
new RowMapper&lt;Map&lt;String, Object&gt;&gt;() {
public Map&lt;String, Object&gt; mapRow(ResultSet rs, int i) throws SQLException {
Map&lt;String, Object&gt; results = new HashMap&lt;String, Object&gt;();
String clobText = lobHandler.getClobAsString(rs, "a_clob");
<para>
<programlisting language="java"><![CDATA[List<Map<String, Object>> l = jdbcTemplate.query("select id, a_clob, a_blob from lob_table",
new RowMapper<Map<String, Object>>() {
public Map<String, Object> mapRow(ResultSet rs, int i) throws SQLException {
Map<String, Object> results = new HashMap<String, Object>();
String clobText = lobHandler.getClobAsString(rs, "a_clob");]]><co id="getClobAsString"/><![CDATA[
results.put("CLOB", clobText);
byte[] blobBytes = lobHandler.getBlobAsBytes(rs, "a_blob");
byte[] blobBytes = lobHandler.getBlobAsBytes(rs, "a_blob");]]><co id="getBlobAsBytes"/><![CDATA[
results.put("BLOB", blobBytes);
return results;
}
});
</programlisting>
});]]></programlisting>
<calloutlist>
<callout arearefs="jdbc.lobhandler.setClob">
<para>Using the method <classname>getClobAsString,
</classname>retrieve the contents of the CLOB.</para>
</callout>
<callout arearefs="jdbc.lobhandler.setBlob">
<para>Using the method <classname>getBlobAsBytes,</classname>
retrieve the contents of the BLOB.</para>
</callout>
</calloutlist>
</programlistingco>--></para>
<calloutlist>
<callout arearefs="getClobAsString">
<para>Using the method <classname>getClobAsString,
</classname>retrieve the contents of the CLOB.</para>
</callout>
<callout arearefs="getBlobAsBytes">
<para>Using the method <classname>getBlobAsBytes,</classname>
retrieve the contents of the BLOB.</para>
</callout>
</calloutlist>
</para>
</section>
<section id="jdbc-in-clause">
......
......@@ -232,7 +232,8 @@
<para><mediaobject>
<imageobject role="fo">
<imagedata align="center" fileref="images/mvc.png" format="PNG" />
<imagedata align="center" fileref="images/mvc.png" format="PNG"
width="400" />
</imageobject>
<imageobject role="html">
......@@ -290,7 +291,7 @@
<para><mediaobject>
<imageobject role="fo">
<imagedata align="center" fileref="images/mvc-contexts.gif"
format="GIF" />
format="GIF" width="400" />
</imageobject>
<imageobject role="html">
......
......@@ -97,7 +97,7 @@ TR: This section doesn't read well and I think we should try to rewrite it.-->Nu
<para><mediaobject>
<imageobject role="fo">
<imagedata align="left" fileref="images/spring-overview.png"
format="PNG" />
format="PNG" width="400" />
</imageobject>
<imageobject role="html">
......@@ -259,7 +259,7 @@ TR: OK. Added to diagram.--></para>
<para><mediaobject>
<imageobject role="fo">
<imagedata align="center" fileref="images/overview-full.png"
format="PNG" />
format="PNG" width="400" />
</imageobject>
<imageobject role="html">
......@@ -289,7 +289,8 @@ TR: OK. Added to diagram.--></para>
<para><mediaobject>
<imageobject role="fo">
<imagedata align="center"
fileref="images/overview-thirdparty-web.png" format="PNG" />
fileref="images/overview-thirdparty-web.png" format="PNG"
width="400"/>
</imageobject>
<imageobject role="html">
......@@ -315,7 +316,7 @@ TR: OK. Added to diagram.--></para>
<para><mediaobject>
<imageobject role="fo">
<imagedata align="center" fileref="images/overview-remoting.png"
format="PNG" />
format="PNG" width="400" />
</imageobject>
<imageobject role="html">
......@@ -335,7 +336,7 @@ TR: OK. Added to diagram.--></para>
<para><mediaobject>
<imageobject role="fo">
<imagedata align="center" fileref="images/overview-ejb.png"
format="PNG" />
format="PNG" width="400" />
</imageobject>
<imageobject role="html">
......@@ -620,7 +621,7 @@ TR: OK. Added to diagram.--></para>
<programlisting>&lt;repositories&gt;
&lt;repository&gt;
&lt;id&gt;com.springsource.repository.maven.release&lt;/id&gt;
&lt;url&gt;http://maven.springframework.org/release/&lt;/url&gt;
&lt;url&gt;http://repo.springsource.org/release/&lt;/url&gt;
&lt;snapshots&gt;&lt;enabled&gt;false&lt;/enabled&gt;&lt;/snapshots&gt;
&lt;/repository&gt;
&lt;/repositories&gt;</programlisting>
......@@ -630,7 +631,7 @@ TR: OK. Added to diagram.--></para>
<programlisting>&lt;repositories&gt;
&lt;repository&gt;
&lt;id&gt;com.springsource.repository.maven.milestone&lt;/id&gt;
&lt;url&gt;http://maven.springframework.org/milestone/&lt;/url&gt;
&lt;url&gt;http://repo.springsource.org/milestone/&lt;/url&gt;
&lt;snapshots&gt;&lt;enabled&gt;false&lt;/enabled&gt;&lt;/snapshots&gt;
&lt;/repository&gt;
&lt;/repositories&gt;</programlisting>
......@@ -640,7 +641,7 @@ TR: OK. Added to diagram.--></para>
<programlisting>&lt;repositories&gt;
&lt;repository&gt;
&lt;id&gt;com.springsource.repository.maven.snapshot&lt;/id&gt;
&lt;url&gt;http://maven.springframework.org/snapshot/&lt;/url&gt;
&lt;url&gt;http://repo.springsource.org/snapshot/&lt;/url&gt;
&lt;snapshots&gt;&lt;enabled&gt;true&lt;/enabled&gt;&lt;/snapshots&gt;
&lt;/repository&gt;
&lt;/repositories&gt;</programlisting>
......
......@@ -185,8 +185,19 @@ public interface Unmarshaller {
<para>
The O/X Mapping exception hierarchy is shown in the following figure:
<mediaobject>
<imageobject>
<imagedata fileref="images/oxm-exceptions.png" align="center"/>
<imageobject role="fo">
<imagedata align="center" fileref="images/oxm-exceptions.png"
format="PNG" width="400"/>
</imageobject>
<caption>
<para>
O/X Mapping exception hierarchy
</para>
</caption>
<imageobject role="html">
<imagedata align="center" fileref="images/oxm-exceptions.png"
format="PNG" width="400"/>
</imageobject>
<caption>
<para>
......@@ -680,7 +691,7 @@ public class Application {
This will make sure that only the registered classes are eligible for unmarshalling.
</para>
<para>
Additionally, you can register <ulink url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/oxm/xstream/XStreamMarshaller.html#setConverters(com.thoughtworks.xstream.converters.ConverterMatcher[])">
Additionally, you can register <ulink url="http://static.springsource.org/spring/docs/current/api/org/springframework/oxm/xstream/XStreamMarshaller.html#setConverters(com.thoughtworks.xstream.converters.ConverterMatcher[])">
custom converters</ulink> to make sure that only your supported classes can be unmarshalled.
</para>
</warning>
......
......@@ -31,9 +31,8 @@
use and also on the Spring libraries, but these dependencies should be easy
to isolate from the rest of your code base.</para>
<para>This document provides a reference guide to Spring's features. Since
this document is still to be considered very much work-in-progress, if you
have any requests or comments, please post them on the user mailing list or
on the support forums at <ulink url="http://forum.springsource.org/" />.
<para>This document provides a reference guide to Spring's features. If you
have any requests or comments, please add an issue at
<ulink url="http://jira.springsource.org/SPR" />.
</para>
</preface>
......@@ -1275,28 +1275,28 @@ if (HttpStatus.SC_CREATED == post.getStatusCode()) {
<entry>DELETE</entry>
<entry><ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html#delete(String,%20Object...)">delete</ulink></entry>
url="http://static.springsource.org/spring/docs/current/api/org/springframework/web/client/RestTemplate.html#delete(String,%20Object...)">delete</ulink></entry>
</row>
<row>
<entry>GET</entry>
<entry><ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html#getForObject(String,%20Class,%20Object...)">getForObject</ulink></entry>
url="http://static.springsource.org/spring/docs/current/api/org/springframework/web/client/RestTemplate.html#getForObject(String,%20Class,%20Object...)">getForObject</ulink></entry>
</row>
<row>
<entry></entry>
<entry><ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html#getForEntity(String,%20Class,%20Object...)">getForEntity</ulink></entry>
url="http://static.springsource.org/spring/docs/current/api/org/springframework/web/client/RestTemplate.html#getForEntity(String,%20Class,%20Object...)">getForEntity</ulink></entry>
</row>
<row>
<entry>HEAD</entry>
<entry><ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html#headForHeaders(String,%20Object...)">headForHeaders(String
url="http://static.springsource.org/spring/docs/current/api/org/springframework/web/client/RestTemplate.html#headForHeaders(String,%20Object...)">headForHeaders(String
url, String… urlVariables)</ulink></entry>
</row>
......@@ -1304,7 +1304,7 @@ if (HttpStatus.SC_CREATED == post.getStatusCode()) {
<entry>OPTIONS</entry>
<entry><ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html#optionsForAllow(String,%20Object...)">optionsForAllow(String
url="http://static.springsource.org/spring/docs/current/api/org/springframework/web/client/RestTemplate.html#optionsForAllow(String,%20Object...)">optionsForAllow(String
url, String… urlVariables)</ulink></entry>
</row>
......@@ -1312,7 +1312,7 @@ if (HttpStatus.SC_CREATED == post.getStatusCode()) {
<entry>POST</entry>
<entry><ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html#postForLocation(String,%20Object,%20Object...)">postForLocation(String
url="http://static.springsource.org/spring/docs/current/api/org/springframework/web/client/RestTemplate.html#postForLocation(String,%20Object,%20Object...)">postForLocation(String
url, Object request, String… urlVariables)</ulink></entry>
</row>
......@@ -1320,7 +1320,7 @@ if (HttpStatus.SC_CREATED == post.getStatusCode()) {
<entry></entry>
<entry><ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html#postForObject(java.lang.String,%20java.lang.Object,%20java.lang.Class,%20java.lang.String...)">postForObject(String
url="http://static.springsource.org/spring/docs/current/api/org/springframework/web/client/RestTemplate.html#postForObject(java.lang.String,%20java.lang.Object,%20java.lang.Class,%20java.lang.String...)">postForObject(String
url, Object request, Class&lt;T&gt; responseType, String…
uriVariables)</ulink></entry>
</row>
......@@ -1329,7 +1329,7 @@ if (HttpStatus.SC_CREATED == post.getStatusCode()) {
<entry>PUT</entry>
<entry><ulink
url="http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html#put(String,%20Object,%20Object...)">put(String
url="http://static.springsource.org/spring/docs/current/api/org/springframework/web/client/RestTemplate.html#put(String,%20Object,%20Object...)">put(String
url, Object request, String…urlVariables)</ulink></entry>
</row>
</tbody>
......
......@@ -821,7 +821,7 @@ public class ExampleJob extends QuartzJobBean {
<classname>SchedulerFactoryBean</classname> for you to set, such as the
calendars used by the job details, properties to customize Quartz with,
etc. Have a look at the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/scheduling/quartz/SchedulerFactoryBean.html">SchedulerFactoryBean
url="http://static.springframework.org/spring/docs/current/api/org/springframework/scheduling/quartz/SchedulerFactoryBean.html">SchedulerFactoryBean
Javadoc</ulink> for more information.</para>
</section>
</section>
......
......@@ -63,7 +63,7 @@
<para>Renders an HTML 'input' tag with type 'checkbox'.</para>
<table id="spring-form.tld.checkbox.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -464,7 +464,7 @@
<para>Renders multiple HTML 'input' tags with type 'checkbox'.</para>
<table id="spring-form.tld.checkboxes.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -907,7 +907,7 @@
<para>Renders field errors in an HTML 'span' tag.</para>
<table id="spring-form.tld.errors.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -1224,7 +1224,7 @@
<para>Renders an HTML 'form' tag and exposes a binding path to inner tags for binding.</para>
<table id="spring-form.tld.form.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -1627,7 +1627,7 @@
<para>Renders an HTML 'input' tag with type 'hidden' using the bound value.</para>
<table id="spring-form.tld.hidden.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -1692,7 +1692,7 @@
<para>Renders an HTML 'input' tag with type 'text' using the bound value.</para>
<table id="spring-form.tld.input.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -2149,7 +2149,7 @@
<para>Renders a form field label in an HTML 'label' tag.</para>
<table id="spring-form.tld.label.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -2466,7 +2466,7 @@
<para>Renders a single HTML 'option'. Sets 'selected' as appropriate based on bound value.</para>
<table id="spring-form.tld.option.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -2797,7 +2797,7 @@
<para>Renders a list of HTML 'option' tags. Sets 'selected' as appropriate based on bound value.</para>
<table id="spring-form.tld.options.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -3142,7 +3142,7 @@
<para>Renders an HTML 'input' tag with type 'password' using the bound value.</para>
<table id="spring-form.tld.password.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -3613,7 +3613,7 @@
<para>Renders an HTML 'input' tag with type 'radio'.</para>
<table id="spring-form.tld.radiobutton.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -4014,7 +4014,7 @@
<para>Renders multiple HTML 'input' tags with type 'radio'.</para>
<table id="spring-form.tld.radiobuttons.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -4457,7 +4457,7 @@
<para>Renders an HTML 'select' element. Supports databinding to the selected option.</para>
<table id="spring-form.tld.select.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......@@ -4900,7 +4900,7 @@
<para>Renders an HTML 'textarea'.</para>
<table id="spring-form.tld.textarea.table">
<title>Attributes</title>
<tgroup cols="3">
<tgroup cols="4">
<colspec align="center" colname="Attribute"/>
<colspec align="center" colname="Required"/>
<colspec align="center" colname="Runtime.Expression"/>
......
......@@ -718,7 +718,8 @@ TR: OK AS IS. images don't show up in the editor, but they do show up in the gen
<para><mediaobject>
<imageobject role="fo">
<imagedata align="center" fileref="images/tx.png" format="PNG" />
<imagedata align="center" fileref="images/tx.png" format="PNG"
width="400"/>
</imageobject>
<imageobject role="html">
......@@ -1847,13 +1848,18 @@ TR: REVISED, PLS REVIEW - changed it back; it's not just settings, the section d
<title>Required</title>
<para><mediaobject>
<imageobject>
<imageobject role="fo">
<imagedata align="center" fileref="images/tx_prop_required.png"
format="PNG" />
format="PNG" width="400"/>
</imageobject>
<caption><para>PROPAGATION_REQUIRED</para></caption>
</mediaobject></para>
<imageobject role="html">
<imagedata align="center" fileref="images/tx_prop_required.png"
format="PNG" width="400"/>
</imageobject>
<caption><para>PROPAGATION_REQUIRED</para></caption>
</mediaobject></para>
<para>When the propagation setting is
<literal>PROPAGATION_REQUIRED</literal>, a
......
......@@ -211,9 +211,9 @@
<para>More information on the
<interfacename>MessageCodesResolver</interfacename> and the default
strategy can be found online with the Javadocs for <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/validation/MessageCodesResolver.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/validation/MessageCodesResolver.html"
>MessageCodesResolver</ulink> and <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/validation/DefaultMessageCodesResolver.html"
url="http://static.springframework.org/spring/docs/current/api/org/springframework/validation/DefaultMessageCodesResolver.html"
>DefaultMessageCodesResolver</ulink> respectively.</para>
</section>
......
......@@ -1141,7 +1141,7 @@ findOwnersForm.url=/WEB-INF/jsp/findOwners.jsp
&lt;/bean&gt;</programlisting>
<para>Refer to the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/ui/velocity/VelocityEngineFactory.html">API
url="http://static.springframework.org/spring/docs/current/api/org/springframework/ui/velocity/VelocityEngineFactory.html">API
documentation</ulink> for Spring configuration of Velocity, or the
Velocity documentation for examples and definitions of the
<filename>'velocity.properties'</filename> file itself.</para>
......
......@@ -84,7 +84,7 @@
contains all of the 'business beans' in one's application.</para>
<para>On to specifics: all that one need do is to declare a <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/context/ContextLoaderListener.html"><classname>ContextLoaderListener</classname></ulink>
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/context/ContextLoaderListener.html"><classname>ContextLoaderListener</classname></ulink>
in the standard Java EE servlet <literal>web.xml</literal> file of one's web
application, and add a <literal>contextConfigLocation</literal>
&lt;context-param/&gt; section (in the same file) that defines which set
......@@ -107,7 +107,7 @@
context parameter, the <classname>ContextLoaderListener</classname> will
look for a file called <literal>/WEB-INF/applicationContext.xml</literal>
to load. Once the context files are loaded, Spring creates a <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/context/WebApplicationContext.html"><classname>WebApplicationContext</classname></ulink>
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/context/WebApplicationContext.html"><classname>WebApplicationContext</classname></ulink>
object based on the bean definitions and stores it in the
<interface>ServletContext</interface> of the web application.</para>
......@@ -119,7 +119,7 @@
<programlisting language="java">WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext);</programlisting>
<para>The <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/context/support/WebApplicationContextUtils.html"><classname>WebApplicationContextUtils</classname></ulink>
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/context/support/WebApplicationContextUtils.html"><classname>WebApplicationContextUtils</classname></ulink>
class is for convenience, so you don't have to remember the name of the
<interface>ServletContext</interface> attribute. Its
<emphasis>getWebApplicationContext()</emphasis> method will return
......@@ -177,7 +177,7 @@
<para>The easiest way to integrate one's Spring middle-tier with one's
JSF web layer is to use the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/jsf/DelegatingVariableResolver.html">
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/jsf/DelegatingVariableResolver.html">
<classname>DelegatingVariableResolver</classname></ulink> class. To
configure this variable resolver in one's application, one will need to
edit one's <emphasis>faces-context.xml</emphasis> file. After the
......@@ -275,7 +275,7 @@
well when mapping one's properties to beans in
<emphasis>faces-config.xml</emphasis>, but at times one may need to grab
a bean explicitly. The <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/jsf/FacesContextUtils.html">
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/jsf/FacesContextUtils.html">
<classname>FacesContextUtils</classname></ulink> class makes this easy.
It is similar to <classname>WebApplicationContextUtils</classname>,
except that it takes a <classname>FacesContext</classname> parameter
......@@ -334,7 +334,7 @@
<title>ContextLoaderPlugin</title>
<para>The <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/struts/ContextLoaderPlugIn.html"><classname>ContextLoaderPlugin</classname></ulink>
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/struts/ContextLoaderPlugIn.html"><classname>ContextLoaderPlugin</classname></ulink>
is a Struts 1.1+ plug-in that loads a Spring context file for the Struts
<classname>ActionServlet</classname>. This context refers to the root
<classname>WebApplicationContext</classname> (loaded by the
......@@ -405,7 +405,7 @@
<title>DelegatingRequestProcessor</title>
<para>To configure the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/struts/DelegatingRequestProcessor.html">
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/struts/DelegatingRequestProcessor.html">
<literal>DelegatingRequestProcessor</literal></ulink> in your
<emphasis>struts-config.xml</emphasis> file, override the
"processorClass" property in the &lt;controller&gt; element. These
......@@ -433,7 +433,7 @@
<note>
<para>If you are using Tiles in your Struts application, you must
configure your &lt;controller&gt; with the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/struts/DelegatingTilesRequestProcessor.html"><classname>DelegatingTilesRequestProcessor</classname></ulink>
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/struts/DelegatingTilesRequestProcessor.html"><classname>DelegatingTilesRequestProcessor</classname></ulink>
instead.</para>
</note>
</section>
......@@ -445,7 +445,7 @@
can't use the <classname>DelegatingRequestProcessor</classname> or
<classname>DelegatingTilesRequestProcessor</classname> approaches, you
can use the <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/struts/DelegatingActionProxy.html">
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/struts/DelegatingActionProxy.html">
<classname>DelegatingActionProxy</classname></ulink> as the type in
your action-mapping.</para>
......@@ -483,7 +483,7 @@
is to extend Spring's <classname>Action</classname> classes for Struts.
For example, instead of subclassing Struts'
<classname>Action</classname> class, you can subclass Spring's <ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/struts/ActionSupport.html">
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/struts/ActionSupport.html">
<classname>ActionSupport</classname></ulink> class.</para>
<para>The <classname>ActionSupport</classname> class provides additional
......@@ -512,23 +512,23 @@
to the name: <itemizedlist spacing="compact">
<listitem>
<para><ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/struts/ActionSupport.html"><classname>ActionSupport</classname></ulink>,</para>
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/struts/ActionSupport.html"><classname>ActionSupport</classname></ulink>,</para>
</listitem>
<listitem>
<para><ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/struts/DispatchActionSupport.html"><literal>DispatchActionSupport</literal></ulink>,</para>
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/struts/DispatchActionSupport.html"><literal>DispatchActionSupport</literal></ulink>,</para>
</listitem>
<listitem>
<para><ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/struts/LookupDispatchActionSupport.html"><literal>LookupDispatchActionSupport</literal></ulink>
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/struts/LookupDispatchActionSupport.html"><literal>LookupDispatchActionSupport</literal></ulink>
and</para>
</listitem>
<listitem>
<para><ulink
url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/struts/MappingDispatchActionSupport.html"><literal>MappingDispatchActionSupport</literal></ulink>.</para>
url="http://static.springframework.org/spring/docs/current/api/org/springframework/web/struts/MappingDispatchActionSupport.html"><literal>MappingDispatchActionSupport</literal></ulink>.</para>
</listitem>
</itemizedlist></para>
......
......@@ -140,7 +140,7 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schem
<section id="xsd-config-body-schemas-util-frfb">
<title>Setting a bean property or constructor arg from a field value</title>
<para>
<ulink url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/config/FieldRetrievingFactoryBean.html"><classname>FieldRetrievingFactoryBean</classname></ulink>
<ulink url="http://static.springframework.org/spring/docs/current/api/org/springframework/beans/factory/config/FieldRetrievingFactoryBean.html"><classname>FieldRetrievingFactoryBean</classname></ulink>
is a <interfacename>FactoryBean</interfacename> which retrieves a
<literal>static</literal> or non-static field value. It is typically
used for retrieving <literal>public</literal> <literal>static</literal>
......@@ -149,7 +149,7 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schem
</para>
<para>
Find below an example which shows how a <literal>static</literal> field is exposed, by
using the <ulink url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/config/FieldRetrievingFactoryBean.html#setStaticField(java.lang.String)"><literal>staticField</literal></ulink>
using the <ulink url="http://static.springframework.org/spring/docs/current/api/org/springframework/beans/factory/config/FieldRetrievingFactoryBean.html#setStaticField(java.lang.String)"><literal>staticField</literal></ulink>
property:
</para>
<programlisting language="xml"><![CDATA[<bean id="myField"
......@@ -176,7 +176,7 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schem
<para>
It is also possible to access a non-static (instance) field of another bean,
as described in the API documentation for the
<ulink url="http://static.springframework.org/spring/docs/3.0.x/javadoc-api/org/springframework/beans/factory/config/FieldRetrievingFactoryBean.html"><classname>FieldRetrievingFactoryBean</classname></ulink>
<ulink url="http://static.springframework.org/spring/docs/current/api/org/springframework/beans/factory/config/FieldRetrievingFactoryBean.html"><classname>FieldRetrievingFactoryBean</classname></ulink>
class.
</para>
<para>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册