173 lines
7.0 KiB
XML
173 lines
7.0 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
/*
|
|
* Copyright 2002-2010 the original author or authors.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
-->
|
|
<chapter version="5" xml:id="migration" xmlns="http://docbook.org/ns/docbook"
|
|
xmlns:ns6="http://www.w3.org/1999/xlink"
|
|
xmlns:ns5="http://www.w3.org/1999/xhtml"
|
|
xmlns:ns4="http://www.w3.org/2000/svg"
|
|
xmlns:ns3="http://www.w3.org/1998/Math/MathML"
|
|
xmlns:ns="http://docbook.org/ns/docbook">
|
|
<title>Migrating from 1.1 M2</title>
|
|
|
|
<sect1 xml:id="M2RC1-introduction">
|
|
<title>Introduction</title>
|
|
|
|
<para>Several API changes were made after 1.1 M2 (before 1.1 RC1)due
|
|
primarily by the need to refactor the code base to remove circular
|
|
dependency cycles, which are now all removed. Class and schema name
|
|
changes were also made to provide a more consistent naming convention
|
|
across the codebase. As a result of these changes, you can not simply drop
|
|
in the new .dlls as you may have done in previous release. This document
|
|
serves as a high level guide to the most likely areas where you will need
|
|
to make changes to either your configuration or your code.</para>
|
|
|
|
<para>The file, BreakingChanges-1.1.txt, in the root directory of the
|
|
distribution contains the full listing of breaking changes made for RC1
|
|
and higher</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="migration-changes">
|
|
<title>Important Changes</title>
|
|
|
|
<para>This section covers the common areas were you will need to make
|
|
changes in code/configuration when migration from M2 to RC1or
|
|
higher.</para>
|
|
|
|
<sect2>
|
|
<title>Namespaces</title>
|
|
|
|
<para>Note: If you previously installed Spring .xsd files to your VS.NET
|
|
installation directory, remove them manually, and copy over the new
|
|
ones, which have the -1.1.xsd suffix.</para>
|
|
|
|
<para>The names of the section handlers to register custom schemas has
|
|
changed, from ConfigParsersSectionHandler to
|
|
<literal>NamespaceParsersSectionHandler</literal>.</para>
|
|
|
|
<para>The target namespaces have changed, the 'directory' named /schema/
|
|
has been removed. For example, the target schema changed from
|
|
http://www.springframework.net/schema/tx to
|
|
<literal>http://www.springframework.net/tx.</literal></para>
|
|
|
|
<para>A typical declaration to use custom schemas within your
|
|
configuration file looks like this</para>
|
|
|
|
<programlisting language="myxml"><objects xmlns='http://www.springframework.net'
|
|
xmlns:db="http://www.springframework.net/database"
|
|
xmlns:tx="http://www.springframework.net/tx"
|
|
xmlns:aop="http://www.springframework.net/aop"></programlisting>
|
|
|
|
<para>The class <literal>XmlParserRegistry</literal> was renamed to
|
|
<literal>NamespaceParserRegistry</literal>.</para>
|
|
|
|
<para>Renamed
|
|
<literal>Spring.Validation.ValidationConfigParser</literal> to
|
|
<literal>Spring.Validation.Config.ValidationNamespaceParser</literal></para>
|
|
|
|
<para>Renamed from <literal>DatabaseConfigParser</literal> to
|
|
<literal>DatabaseNamespaceParser</literal></para>
|
|
|
|
<para>Renamed/Moved <literal>Remoting.RemotingConfigParser</literal> to
|
|
<literal>Remoting.Config.RemotingNamespaceParser</literal><parameter></parameter></para>
|
|
|
|
<para>A typical registration of custom parsers within your configuration
|
|
file looks like this</para>
|
|
|
|
<programlisting language="myxml"><configuration>
|
|
<configSections>
|
|
<sectionGroup name="spring">
|
|
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core"/>
|
|
</sectionGroup>
|
|
</configSections>
|
|
|
|
<spring>
|
|
<parsers>
|
|
<parser type="Spring.Aop.Config.AopNamespaceParser, Spring.Aop" />
|
|
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
|
|
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
|
|
</parsers>
|
|
</spring></programlisting>
|
|
|
|
<para>A manual registration would look like this</para>
|
|
|
|
<programlisting language="csharp">NamespaceParserRegistry.RegisterParser(typeof(AopNamespaceParser));
|
|
NamespaceParserRegistry.RegisterParser(typeof(DatabaseNamespaceParser));
|
|
NamespaceParserRegistry.RegisterParser(typeof(TxNamespaceParser));
|
|
</programlisting>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Core</title>
|
|
|
|
<para>Moved Spring.Util.DynamicReflection to
|
|
Spring.Reflection.Dynamic</para>
|
|
|
|
<para>Moved TypeRegistry and related classes from Spring.Context.Support
|
|
to Spring.Core.TypeResolution</para>
|
|
|
|
<para>Moved Spring.Objects.TypeConverters to
|
|
Spring.Core.TypeConvesion</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Web</title>
|
|
|
|
<para>Moved Spring.Web.Validation to Spring.Web.UI.Validation</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Data</title>
|
|
|
|
<para>Changed schema to use 'provider' instead of 'dbProvider' element,
|
|
usage is now <db:provider ... /> and not <db:dbProvider
|
|
.../></para>
|
|
|
|
<para>Moved TransactionTemplate, TransactionDelegate and
|
|
ITransactionCallback from Spring.Data to Spring.Data.Support</para>
|
|
|
|
<para>Moved AdoTemplate, AdoAccessor, AdoDaoSupport,
|
|
RowMapperResultSetExtractor from Spring.Data to Spring.Data.Core</para>
|
|
|
|
<para>Moved AdoPlatformTransactionManager,
|
|
ServiceDomainPlatformTransactionManager, and TxScopeTransactionManager
|
|
from Spring.Data to Spring.Data.Core</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<title>Support for .NET 4</title>
|
|
|
|
<para>Beginning with the 1.3.2 release of Spring.NET, full compatibility
|
|
with the .NET 4 Common Language Runtime (CLR) is provided via a
|
|
comprehensive collection of Spring.NET compiled assemblies specifically
|
|
targeting the .NET 4 framework. Spring.NET 1.3.1 provided interim support
|
|
for .NET 4 via the approach typically refered to as <emphasis>In-Process
|
|
Side-by-Side</emphasis> or just <emphasis>In-Proc SxS</emphasis>.</para>
|
|
|
|
<note>
|
|
<para>For more information on the In-Process Side-by-Side support
|
|
introduced into the .NET 4 Framework, see the MSDN Magazine article
|
|
located here: <uri
|
|
ns6:href="http://msdn.microsoft.com/en-us/magazine/ee819091.aspx">http://msdn.microsoft.com/en-us/magazine/ee819091.aspx</uri></para>
|
|
</note>
|
|
|
|
<para>Beginning with Spring.NET 1.3.2, this approach is no longer
|
|
necessary and fuill native support of .NET is now provided.</para>
|
|
</sect1>
|
|
</chapter>
|