Files
spring-net/doc/reference/src/index.xml
Marko Lahma fc5fa113bb SPRNET-1561 ASP.NET MVC 5 and WEB API 2 support
* also add .NET 4.5 targets
* fix issues with libs and build targets
2013-12-03 17:46:24 +02:00

641 lines
17 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book [
<!ENTITY aop SYSTEM "aop.xml">
<!ENTITY aop-aspect-library SYSTEM "aop-aspect-library.xml">
<!ENTITY background SYSTEM "background.xml">
<!ENTITY objects SYSTEM "objects.xml">
<!ENTITY resources SYSTEM "resources.xml">
<!ENTITY objects-misc SYSTEM "objects-misc.xml">
<!ENTITY expressions SYSTEM "expressions.xml">
<!ENTITY validation SYSTEM "validation.xml">
<!ENTITY logging SYSTEM "logging.xml">
<!ENTITY testing SYSTEM "testing.xml">
<!ENTITY overview SYSTEM "overview.xml">
<!ENTITY psa-intro SYSTEM "psa-intro.xml">
<!ENTITY remoting SYSTEM "remoting.xml">
<!ENTITY messaging SYSTEM "messaging.xml">
<!ENTITY messaging-ems SYSTEM "messaging-ems.xml">
<!ENTITY msmq SYSTEM "msmq.xml">
<!ENTITY scheduling SYSTEM "scheduling.xml">
<!ENTITY templating SYSTEM "templating.xml">
<!ENTITY web SYSTEM "web.xml">
<!ENTITY web-mvc SYSTEM "web-mvc.xml">
<!ENTITY web-mvc3 SYSTEM "web-mvc3.xml">
<!ENTITY ajax SYSTEM "ajax.xml">
<!ENTITY services SYSTEM "services.xml">
<!ENTITY webservices SYSTEM "webservices.xml">
<!ENTITY wcf SYSTEM "wcf.xml">
<!ENTITY threading SYSTEM "threading.xml">
<!ENTITY pool SYSTEM "pool.xml">
<!ENTITY preface SYSTEM "preface.xml">
<!ENTITY transaction SYSTEM "transaction.xml">
<!ENTITY dbprovider SYSTEM "dbprovider.xml">
<!ENTITY dao SYSTEM "dao.xml">
<!ENTITY ado SYSTEM "ado.xml">
<!ENTITY orm SYSTEM "orm.xml">
<!ENTITY vsnet SYSTEM "vsnet.xml">
<!ENTITY migration SYSTEM "migration.xml">
<!ENTITY quickstarts SYSTEM "quickstarts.xml">
<!ENTITY aop-quickstart SYSTEM "aop-quickstart.xml">
<!ENTITY remoting-quickstart SYSTEM "remoting-quickstart.xml">
<!ENTITY springair SYSTEM "springair.xml">
<!ENTITY web-quickstart SYSTEM "web-quickstart.xml">
<!ENTITY data-quickstart SYSTEM "data-quickstart.xml">
<!ENTITY tx-quickstart SYSTEM "tx-quickstart.xml">
<!ENTITY nh-quickstart SYSTEM "nh-quickstart.xml">
<!ENTITY quartz-quickstart SYSTEM "quartz-quickstart.xml">
<!ENTITY nms-quickstart SYSTEM "nms-quickstart.xml">
<!ENTITY ems-quickstart SYSTEM "ems-quickstart.xml">
<!ENTITY msmq-quickstart SYSTEM "msmq-quickstart.xml">
<!ENTITY wcf-quickstart SYSTEM "wcf-quickstart.xml">
<!ENTITY javadevelopers SYSTEM "javadevelopers.xml">
<!ENTITY misc SYSTEM "misc.xml">
<!ENTITY pooling-example SYSTEM "pooling-example.xml">
<!ENTITY xsd-configuration SYSTEM "xsd-configuration.xml">
<!ENTITY xml-custom SYSTEM "xml-custom.xml">
<!ENTITY xsd SYSTEM "xsd.xml">
<!ENTITY classic-spring SYSTEM "classic-spring.xml">
<!ENTITY codeconfig-migration-example SYSTEM "codeconfig-migration-example.xml">
<!ENTITY codeconfig-context SYSTEM "codeconfig-context.xml">
<!ENTITY codeconfig-attribute-reference SYSTEM "codeconfig-attribute-reference.xml">
<!ENTITY codeconfig-sample-apps SYSTEM "codeconfig-sample-apps.xml">
]>
<book version="5.0" xml:lang="en" xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://docbook.org/ns/docbook/xi"
xmlns:ns5="http://www.w3.org/1999/xhtml"
xmlns:ns4="http://www.w3.org/1998/Math/MathML"
xmlns:ns3="http://www.w3.org/2000/svg"
xmlns:ns="http://docbook.org/ns/docbook">
<info>
<title>The Spring.NET Framework</title>
<subtitle>Reference Documentation</subtitle>
<releaseinfo>Version 2.0.0</releaseinfo>
<pubdate>Last Updated January 11, 2013 <ulink
url="http://www.springframework.net/doc-latest/reference/html/index.html">(Latest
documentation)</ulink></pubdate>
<authorgroup>
<author>
<firstname>Mark</firstname>
<surname>Pollack</surname>
</author>
<author>
<firstname>Rick</firstname>
<surname>Evans</surname>
</author>
<author>
<firstname>Aleksandar</firstname>
<surname>Seovic</surname>
</author>
<author>
<firstname>Bruno</firstname>
<surname>Baia</surname>
</author>
<author>
<firstname>Erich</firstname>
<surname>Eichinger</surname>
</author>
<author>
<firstname>Federico</firstname>
<surname>Spinazzi</surname>
</author>
<author>
<firstname>Rob</firstname>
<surname>Harrop</surname>
</author>
<author>
<firstname>Griffin</firstname>
<surname>Caprio</surname>
</author>
<author>
<firstname>Ruben</firstname>
<surname>Bartelink</surname>
</author>
<author>
<firstname>Choy</firstname>
<surname>Rim</surname>
</author>
<author>
<firstname>Erez</firstname>
<surname>Mazor</surname>
</author>
<author>
<firstname>Stephen</firstname>
<surname>Bohlen</surname>
</author>
<author>
<firstname>The Spring</firstname>
<surname>Java Team</surname>
</author>
</authorgroup>
<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>
<toc></toc>
&preface;
&overview;
&background;
&migration;
<part xml:id="spring-core">
<title>Core Technologies</title>
<partintro>
<para>This initial 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
enterprise programming.</para>
<para>The core functionality also includes an expression language for
lightweight scripting and a ui-agnostic validation framework.</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
have found that the correct use of IoC certainly does make both unit and
integration testing easier (in that the presence of properties 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>
<xref linkend="objects" />
</listitem>
<listitem>
<xref linkend="objects-misc" />
</listitem>
<listitem>
<xref linkend="resources" />
</listitem>
<listitem>
<xref linkend="threading" />
</listitem>
<listitem>
<xref linkend="pool" />
</listitem>
<listitem>
<xref linkend="expressions" />
</listitem>
<listitem>
<xref linkend="misc" />
</listitem>
<listitem>
<xref linkend="validation" />
</listitem>
<listitem>
<xref linkend="aop" />
</listitem>
<listitem>
<xref linkend="aop-aspect-library" />
</listitem>
<listitem>
<xref linkend="logging" />
</listitem>
<listitem>
<xref linkend="testing" />
</listitem>
</itemizedlist>
</partintro>
&objects;
&objects-misc;
&resources;
&threading;
&pool;
&misc;
&expressions;
&validation;
<!-- &util; -->
&aop;
&aop-aspect-library;
&logging;
&testing;
</part>
<part xml:id="spring-middle-tier">
<title>Middle Tier Data Access</title>
<partintro>
<para>This part of the reference documentation is concerned with othe
middle tier, and specifically the data access responsibilities of said
tier.</para>
<para>Spring's comprehensive transaction management support is covered
in some detail, followed by thorough coverage of the various middle tier
data access frameworks and technologies that the Spring Framework
integrates with.</para>
<itemizedlist>
<listitem>
<xref linkend="transaction" />
</listitem>
<listitem>
<xref linkend="dao" />
</listitem>
<listitem>
<xref linkend="dbprovider" />
</listitem>
<listitem>
<xref linkend="ado" />
</listitem>
<listitem>
<xref linkend="orm" />
</listitem>
</itemizedlist>
</partintro>
&transaction;
&dao;
&dbprovider;
&ado;
&orm;
</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, specifically web-based
presentation tiers.</para>
<itemizedlist>
<listitem>
<xref linkend="web" />
</listitem>
<listitem>
<xref linkend="ajax" />
</listitem>
<listitem>
<xref linkend="web-mvc" />
</listitem>
<listitem>
<xref linkend="web-mvc3" />
</listitem>
</itemizedlist>
</partintro>
&web;
&ajax;
&web-mvc;
&web-mvc3;
</part>
<part xml:id="spring-services">
<title>Services</title>
<partintro>
<para>This part of the reference documentation covers the Spring
Framework's integration with .NET distributed technologies such as .NET
Remoting, Enterprise Services, Web Services. Integration with WCF
Services is forthcoming. Please refer to the introduction chapter for
more details.</para>
<itemizedlist>
<listitem>
<xref linkend="psa-intro" />
</listitem>
<listitem>
<xref linkend="remoting" />
</listitem>
<listitem>
<xref linkend="services" />
</listitem>
<listitem>
<xref linkend="webservices" />
</listitem>
<listitem>
<xref linkend="wcf" />
</listitem>
</itemizedlist>
</partintro>
&psa-intro;
&remoting;
&services;
&webservices;
&wcf;
</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 related enterprise .NET
technologies.</para>
<itemizedlist>
<listitem>
<para><xref linkend="messaging" /></para>
</listitem>
<listitem>
<para><xref linkend="messaging-ems" /></para>
</listitem>
<listitem>
<para><xref linkend="msmq" /></para>
</listitem>
<listitem>
<para><xref linkend="scheduling" /></para>
</listitem>
<listitem>
<para><xref linkend="templating" /></para>
</listitem>
</itemizedlist>
</partintro>
&messaging;
&messaging-ems;
&msmq;
&scheduling;
&templating;
</part>
<part xml:id="spring-codeconfig">
<title>Code-Based Configuration</title>
<partintro>
<para>In this reference document, well explore the newest addition to
the configuration story for the Spring.NET Dependency Injection
container: code-based configuration, or simply CodeConfig, intended to
begin to address many of the shortcomings of the XML-based configuration
approach.</para>
<para>At the core of Spring.NET is a powerful and flexible dependency
injection container, offering object assembly and construction services
atop which the remainder of the Spring.NET Framework is based.
Historically, the primary manner of configuring this dependency
injection container has been XML configuration files. Object
definitions, essentially recipes to be used by the container when
constructing objects of various types, are expressed in XML and then
parsed and interpreted by the container as it is initialized at
run-time.</para>
<para>While there are several positive aspects to expressing
configuration metadata in XML files, there are also many problems with
this approach including the verbosity of XML and its heavy dependence on
string-literals which are both prone to typing errors and unusually
resistant to most modern refactoring tools in use today. The CodeConfig
approach removes these problems by providing a type safe, code-based,
approach to dependency injection. It keeps the configuration metadatda
external to your class so your class can be a POCO, free of any DI
related annotations.</para>
<itemizedlist>
<listitem>
<xref linkend="codeconfig-migration-example" />
</listitem>
<listitem>
<xref linkend="codeconfig-context" />
</listitem>
<listitem>
<xref linkend="codeconfig-attribute-reference" />
</listitem>
<listitem>
<xref linkend="codeconfig-sample-apps" />
</listitem>
</itemizedlist>
</partintro>
&codeconfig-migration-example;
&codeconfig-context;
&codeconfig-attribute-reference;
&codeconfig-sample-apps;
</part>
<part xml:id="spring-vsnet">
<title>VS.NET Integration</title>
<partintro>
<para>This part of the reference documentation covers the Spring
Framework's integration with VS.NET</para>
<itemizedlist>
<listitem>
<xref linkend="vsnet" />
</listitem>
</itemizedlist>
</partintro>
&vsnet;
</part>
<part xml:id="spring-quickstarts">
<title>Quickstart applications</title>
<partintro>
<para>This part of the reference documentation covers the quickstart
applications included with Spring that demonstrate features in a code
centric manner.</para>
<itemizedlist>
<listitem>
<xref linkend="quickstarts" />
</listitem>
<listitem>
<xref linkend="aop-quickstart" />
</listitem>
<listitem>
<xref linkend="remoting-quickstart" />
</listitem>
<listitem>
<xref linkend="web-quickstart" />
</listitem>
<listitem>
<xref linkend="springair" />
</listitem>
<listitem>
<xref linkend="data-quickstart" />
</listitem>
<listitem>
<xref linkend="tx-quickstart" />
</listitem>
<listitem>
<xref linkend="nh-quickstart" />
</listitem>
<listitem>
<xref linkend="quartz-quickstart" />
</listitem>
<listitem>
<xref linkend="nms-quickstart" />
</listitem>
<listitem>
<xref linkend="ems-quickstart" />
</listitem>
<listitem>
<xref linkend="msmq-quickstart" />
</listitem>
<listitem>
<xref linkend="wcf-quickstart" />
</listitem>
</itemizedlist>
</partintro>
&quickstarts;
&aop-quickstart;
&remoting-quickstart;
&web-quickstart;
&springair;
&data-quickstart;
&tx-quickstart;
&nh-quickstart;
&quartz-quickstart;
&nms-quickstart;
&ems-quickstart;
&msmq-quickstart;
&wcf-quickstart;
</part>
<part xml:id="spring-javadevelopers">
<title>Spring.NET for Java developers</title>
<partintro>
<para>This part of the reference documentation is for Java developers
who would like a quick orientation to what is different between the Java
and .NET versions of the framework.</para>
<itemizedlist>
<listitem>
<xref linkend="javadevelopers" />
</listitem>
</itemizedlist>
</partintro>
&javadevelopers;
</part>
<!-- back matter -->
<part id="spring-appendices">
<title>Appendices</title>
&classic-spring;
&xsd-configuration;
&xml-custom;
&xsd;
</part>
</book>