spring-framework-reference.xml 11.8 KB
Newer Older
1
<?xml version="1.0" encoding="UTF-8"?>
T
Thomas Risberg 已提交
2 3 4 5
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">

<book xmlns:xi="http://www.w3.org/2001/XInclude">
6 7 8 9
	<bookinfo>
		<title>Reference Documentation</title>
		<subtitle>(Work in progress)</subtitle>
	    <productname>Spring Framework</productname>
T
Thomas Risberg 已提交
10
		<releaseinfo>3.0.0.M4</releaseinfo>
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
	    <mediaobject>
	      <imageobject role="fo">
	        <imagedata align="center" fileref="images/logo-pdf.png"
	                   format="PNG" width="240"/>
	      </imageobject>
	    </mediaobject>
		<authorgroup>
			<author>
				<firstname>Rod</firstname>
				<surname>Johnson</surname>
			</author>
			<author>
				<firstname>Juergen</firstname>
				<surname>Hoeller</surname>
			</author>
			<author>
K
Keith Donald 已提交
27 28
				<firstname>Keith</firstname>
				<surname>Donald</surname>
29 30 31 32 33 34 35 36 37 38 39 40 41
			</author>
			<author>
				<firstname>Colin</firstname>
				<surname>Sampaleanu</surname>
			</author>
			<author>
				<firstname>Rob</firstname>
				<surname>Harrop</surname>
			</author>
			<author>
				<firstname>Thomas</firstname>
				<surname>Risberg</surname>
			</author>
K
Keith Donald 已提交
42 43 44 45
			<author>
				<firstname>Alef</firstname>
				<surname>Arendsen</surname>
			</author>
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
			<author>
				<firstname>Darren</firstname>
				<surname>Davison</surname>
			</author>
			<author>
				<firstname>Dmitriy</firstname>
				<surname>Kopylenko</surname>
			</author>
			<author>
				<firstname>Mark</firstname>
				<surname>Pollack</surname>
			</author>
			<author>
				<firstname>Thierry</firstname>
				<surname>Templier</surname>
			</author>
			<author>
				<firstname>Erwin</firstname>
				<surname>Vervaet</surname>
			</author>
			<author>
				<firstname>Portia</firstname>
				<surname>Tung</surname>
			</author>
			<author>
				<firstname>Ben</firstname>
				<surname>Hale</surname>
			</author>
			<author>
				<firstname>Adrian</firstname>
				<surname>Colyer</surname>
			</author>
			<author>
				<firstname>John</firstname>
				<surname>Lewis</surname>
			</author>
			<author>
				<firstname>Costin</firstname>
				<surname>Leau</surname>
			</author>
			<author>
				<firstname>Mark</firstname>
				<surname>Fisher</surname>
			</author>
			<author>
				<firstname>Sam</firstname>
				<surname>Brannen</surname>
			</author>
			<author>
				<firstname>Ramnivas</firstname>
				<surname>Laddad</surname>
			</author>
			<author>
				<firstname>Arjen</firstname>
				<surname>Poutsma</surname>
			</author>
T
Thomas Risberg 已提交
102 103 104 105 106 107 108 109
			<author>
				<firstname>Chris</firstname>
				<surname>Beams</surname>
			</author>
			<author>
				<firstname>Tareq</firstname>
				<surname>Abed Rabbo</surname>
			</author>
110 111 112
		</authorgroup>
		<copyright>
			<year>2004-2009</year>
K
Keith Donald 已提交
113
			<holder>Rod Johnson, Juergen Hoeller, Keith Donald, Colin Sampaleanu, Rob Harrop, Alef Arendsen, Thomas Risberg, Darren Davison, 
T
Thomas Risberg 已提交
114
				Dmitriy Kopylenko, Mark Pollack, Thierry Templier, Erwin Vervaet, Portia Tung, Ben Hale, Adrian Colyer, John Lewis, 
115
                Costin Leau, Mark Fisher, Sam Brannen, Ramnivas Laddad, Arjen Poutsma, Chris Beams, Tareq Abed Rabbo
116 117 118 119 120 121 122 123 124 125 126 127
			</holder>
		</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>
	</bookinfo>
	<!-- front matter -->
	<toc/>
128 129
	<part id="spring-introduction">
		<title>Overview of Spring Framework</title>
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
		<partintro id="spring-core-intro">
			<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 <ulink
			url="http://forum.springsource.org/"></ulink>.<!--Missing link above. PDF shows it as http://forum.springsource.org/--></para>
		</partintro>
157 158 159 160 161 162
		<xi:include href="overview.xml"/>
	</part>
	<part id="spring-whats-new">
		<title>What's New in Spring 3.0</title>
		<xi:include href="new-in-3.xml"/>
	</part>
163 164 165 166
	<part id="spring-core">
		<title>Core Technologies</title>
		<partintro id="spring-core-intro">
			<para>
167
				This part of the reference documentation covers
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
				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
192
			    unit testing). The Spring team has found that the correct
193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
			    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 on 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>
211 212 213
				<listitem>
					<para><xref linkend="expressions"/></para>
				</listitem>
214 215 216 217 218 219 220 221 222 223 224
				<listitem>
					<para><xref linkend="aop"/></para>
				</listitem>
				<listitem>
					<para><xref linkend="aop-api"/></para>
				</listitem>
				<listitem>
					<para><xref linkend="testing"/></para>
				</listitem>
			</itemizedlist>
		</partintro>
T
Thomas Risberg 已提交
225 226 227 228 229 230 231
		<xi:include href="beans.xml"/>
		<xi:include href="resources.xml"/>
		<xi:include href="validation.xml"/>
		<xi:include href="expressions.xml"/>
		<xi:include href="aop.xml"/>
		<xi:include href="aop-api.xml"/>
		<xi:include href="testing.xml"/>
232
	</part>
233 234 235
	<part id="spring-data-tier">
		<title>Data Access</title>
		<partintro id="spring-data-tier-intro">
236 237
			<para>
				This part of the reference documentation is concerned
238 239
				with data access and the interaction between the data access
				layer and the business or service layer.
240 241 242 243
			</para>
			<para>
				Spring's comprehensive transaction management support is
				covered in some detail, followed by thorough coverage of
244
				the various data access frameworks and
245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
				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>
260 261 262
				<listitem>
					<para><xref linkend="oxm"/></para>
				</listitem>
263 264
			</itemizedlist>
		</partintro>
T
Thomas Risberg 已提交
265 266 267 268 269
		<xi:include href="transaction.xml"/>
		<xi:include href="dao.xml"/>
		<xi:include href="jdbc.xml"/>
		<xi:include href="orm.xml"/>
		<xi:include href="oxm.xml"/>
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306
	</part>
	<part id="spring-web">
		<title>The Web</title>
		<partintro id="spring-web-intro">
			<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>
T
Thomas Risberg 已提交
307 308 309 310
		<xi:include href="mvc.xml"/>
		<xi:include href="view.xml"/>
		<xi:include href="web-integration.xml"/>
		<xi:include href="portlet.xml"/>
311 312 313 314 315 316
	</part>
	<part id="spring-integration">
		<title>Integration</title>
		<partintro id="spring-integration-intro">
			<para>
				This part of the reference documentation covers
317
				the Spring Framework's integration with a number of Java EE
318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349
				(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="metadata"/></para>
				</listitem>
			</itemizedlist>
		</partintro>
T
Thomas Risberg 已提交
350 351 352 353 354 355 356 357 358
		<xi:include href="remoting.xml"/>
		<xi:include href="ejb.xml"/>
		<xi:include href="jms.xml"/>
		<xi:include href="jmx.xml"/>
		<xi:include href="cci.xml"/>
		<xi:include href="mail.xml"/>
		<xi:include href="scheduling.xml"/>
		<xi:include href="dynamic-languages.xml"/>
		<xi:include href="metadata.xml"/>
359 360
	</part>
	<!-- back matter -->
361 362 363 364 365 366 367 368 369 370
	<part id="spring-appendices">
		<title>Appendices</title>
		<xi:include href="classic-spring.xml"/>
		<xi:include href="classic-aop-spring.xml"/>
		<xi:include href="xsd-configuration.xml"/>
		<xi:include href="xml-custom.xml"/>
		<xi:include href="dtd.xml"/>
		<xi:include href="spring.tld.xml"/>
		<xi:include href="spring-form.tld.xml"/>
	</part>
371
</book>