2008年06月23日

2.7. Migrating to Spring 2.5

2.7 Spring 2.5への移行
最後に、Spring 1.2や2.0からSpring 2.5への移行に関する注意点などについて述べていきます。
Spring 2.0.xからSpring 2.5へのアップグレードは、単にSpring 2.5のJarファイルをアプリケーションのディレクトリ構造の適当な場所に配置するだけです。JDK 1.4.2以上で実行されるSpring 2.0アプリケーションはSpring 2.5にアップグレードすることを強くお勧めします。Java 5以降のアプリケーションであればなおさらです。Spring 2.5は設定の大幅な簡便化とパフォーマンスの改善を行っているため、その恩恵を受けることができます。
Spring 1.2.xからのアップグレードがどのくらいスムーズに行えるかは、コード中でどれだけSpringのAPIを使用しているかにかかっています。Spring 2.0では、バージョン1.2.xでdeprecatedとされていたクラスとメソッドはすべて削除されています。そのためこれらのクラス・メソッドを使用していた部分では、代わりのクラス・メソッドを使用する必要があります(いくつかは後ほど述べます)。
設定ファイルに関してはSpring 1.2.x形式のXML設定ファイルはSpring 2.5のライブラリでも100%使用することができます。Spring 1.2.xのDTDを使用している場合にはSpring 2.0以降の機能(スコープやより簡単になったAOP、トランザクション設定など)を利用する事ができませんが、今までの設定ファイルが使えなくなってしまうことはありません。
移行戦略の一つとしては、Spring 2.5の機能改善(バグフィックスや最適化など)を利用するためだけにSpring 2.5のJarを使用することです。そして少しずつSpring 2.5の新機能や設定を使用していきます。たとえばAoPの部分にだけSpring 2スタイルの設定を導入することができます。設定の90%を旧式のSpring 1.2.xのDTDを使用したXMLで行い、残りの10%に2.0/2.5のDTDやXSDを適用することには何の問題もありません。

2.7.1 変更点
変更点を列挙したわかりやすいリストはSpring Framework配布ディレクトリのトップに「changelog.txt」として配置してあります。

2.7.1.1 サポートしているJDKのバージョン
Spring 2.5からJDK 1.3は、2006年後半にSunが公式に非推奨としたことに従いサポートされなくなりました。JDK 1.4.2へのアップグレードがまだの方はアップグレードしたほうが良いでしょう。
WebSphere 4.0や5.0などJDK 1.3のみに対応しているアプリケーションサーバを使用し続ける必要があるならば、JDK 1.3に対応しているSpring 2.0.7/2.0.8を使用することをお勧めします。

2.7.1.2 Spring 2.5のJarパッケージ
Spring 2.5からはSpring Web MVCは「spring.jar」には含まれていません。Spring MVCはlib/modulesディレクトリ中の「spring-webmvc.jar」ファイルと「spring-webmvc-portlet.jar」ファイルに含まれています。さらに、Struts 1.Xのサポートは「spring-webmvc-struts.jar」に外部化されています。
※ よく使用されるDispatcherServletクラスはSpring Web MVCに属しています。したがって(HessianやHTTPを使用した起動サービスなどの)リモートアクセスのためにDispatcherServletのみを使用する場合でも、「spring-webmvc.jar」(もしくは「spring-webmvc-portlet.jar」「spring-webmvc-struts.jar」)を「spring.jar」とともに使用する必要があります。
Spring 2.0の「spring-jmx.jar」と「spring-remoting.jar」はバージョン2.5では「spring-context.jar(JMXとHTTP以外でのリモートアクセスサポート)」に統合され、また一部は「spring-web.jar(HTTPでのリモートアクセスサポート)」に組み込まれています。
「spring-support.jar」は正しい意味合いをあらわすために「spring-context-support.jar」に名前が変更されました。「spring-portlet.jar」も同様に、技術的にSpring Web MVCフレームワークのサブモジュールであるため「spring-webmvc-portlet.jar」という名前になっています。「spring-struts.jar」から「spring-webmvc-struts.jar」への名前変更も同じ理由です。
Spring 2.0での「spring-jdo.jar」、「spring-dao.jar」、「spring-hibernate3.jar」、「spring-toplink.jar」、「spring-ibatis.jar」の各種のファイルは「spring-orm.jar」にひとまとめにされています。
「spring-mock.jar」はSpring 2.5ではTestContextフレームワークに焦点を絞った「spring-test.jar」に置き換えられました。しかし「spring-test.jar」には「spring-mock.jar」の内容がすべて含まれているので、既存の単体・結合テストで使用する場合でもそのまま置き換えることができます。
Spring 2.5で導入された「spring-tx.jar」はトランザクションフレームワークとして以前のバージョンの「spring-dao.jar」と「spring-jca.jar」を置き換えるものです。
Spring 2.5はOSGi準拠のJarとして配布されています。したがってOSGi環境でSpringを使用する際にも、パッケージしなおす必要はありません。

2.7.1.3 XMLによる設定
Spring 2.0では以前のバージョンで使用されていたDTDの代わりに、より洗練された方法でXMLのメタ情報を記述できるXSDを採用しています。以前のDTDも継続してサポートされていますが、できることならXSDへの参照を設定ファイルに記述することを推奨します。
大きく変わった点のひとつにはBeanのスコープ定義の方法があります。Spring 1.2のDTDを使用していれば「singleton」属性を使い続けることができますが、代わりに「scope」属性を使用することで「singleton」属性が使用できないSpring 2.0のDTDを参照することもできます。

2.7.1.4 非推奨のクラスとメソッド
以前から@deprecatedとされていた多くのクラスとメソッドがSpring 2.0で削除されました。Springチームは、2.0のリリースは新たな始まりであり、将来の見通しのためには非推奨な「がらくた」がコードにとり憑いたままにするよりは取り除いてしまった方が良いと考えたのです。
上述のとおり、Springの配布ファイルのトップディレクトリにある、「changelog.txt」を参照してください。このファイルには変更点がわかりやすい様にリストアップしてあります。
以下のクラスおよびインタフェースはSpring 2.0において削除されました。

  • ResultReader : RowMapperインタフェースを代わりに使用してください
  • BeanFactoryBootstrap : BeanFactoryLocatorもしくは自前のブートストラップクラスを使用することを考えてください。


2.7.1.5 Apache OJB
Apache OJBのサポートはSpringソースツリー上から完全に削除されてしまいました。Apache OJB統合ライブラリはいまだに入手可能ではありますが、それはSpring Modulesプロジェクトに移動しました。

2.7.1.6 iBATIS
iBATIS SQL Maps 1.3へのサポートは削除されました。iBATIS SQL Maps 2.3へ移行してください。

2.7.1.7 Hibernate
Hibernate 2.1と3.0へのサポートはバージョン2.5では削除されています。Hibernate 3.1以上に移行してください。
当面Hibernate 2.1もしくは3.0を使用しなければならない場合には、そのバージョンをサポートしているSpring 2.0.7/2.0.8を使用することをお勧めします。

2.7.1.8 JDO
JDO 1.0への対応は削除されました。JDO 2.0以上へ移行してください。
JDO 1.0を遣い続けなければならない場合には、やはりSpring 2.0.7/2.0.8を使用することをお勧めします。

2.7.1.9 UrlFilenameViewController
Spring 2.0から、UrlFilenameViewControllerによって決定されるビュー名はリクエストのネスとしたパスを考慮するようになりました。これはUrlFilenameViewControllerのもともとの規約からすると、大きな変更です。したがってこのクラスを使用するアプリケーションをSpring 1.xからSpring 2.xにアップグレードする際にはSpring Web MVCの設定を多少変更する必要が出てくるかもしれません。新しいビュー名決定の規約の具体例はこのクラスのJavadocに記述されていますので、参照してください。

原文:http://static.springframework.org/spring/docs/2.5.x/reference/new-in-2.html#new-in-2-migrating
ラベル:SpringFramework2.5

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。