matsukaz's blog

Agile, node.js, ruby, AWS, cocos2d-xなどなどいろいろやってます

Spring 2.5.3リリース

いつの間にやらSpring 2.5.3がリリースされていました。出遅れた〜><
というわけで主要なリリース情報を。ここまで書くなら全部訳した方が良い?今載ってるのは自分が理解できる分だけです。
あ、2.5.xを利用している場合は、2.5.3へのアップグレードが推奨されるとのこと。でも@Autowiredを定義したメソッドをオーバーライドした場合は、サブクラスで再度@Autowiredを定義しなきゃならないって変更とかは下位互換ないんじゃ・・・?

全般
org.springframework.aop パッケージ
  • "bean(...)" によるポイントカットの指定が Bean 名だけでなくエイリアスにも対応
org.springframework.beans パッケージ
  • PropertyPlaceholderConfigurer がネストされたキーにも対応(e.g. "${db.${environment}}")
  • @Autowiredアノテーションを定義したメソッドをオーバーライドした場合は、サブクラスに対しては@Autowiredは継承されなくなった(再度@Autowiredを指定する必要がある)
org.springframework.context パッケージ
  • ReloadableResourceBundleMessageSourceが jar/zip に含まれたプロパティファイルの更新に対しても対応
org.springframework.ejb パッケージ
  • Session Bean のオブジェクトをキャッシュするため、SimpleRemoteStatelessSessionProxyFactoryBean に "cacheSessionBean" フラグを追加
  • 設定ファイルの "jee:remote-slsb" 要素に "cache-session-bean" 属性を追加
  • 設定ファイルの "jee:*" はデフォルトで resource-ref="true" を利用
org.springframework.jdbc パッケージ
  • JndiDataSourceLookupはデフォルトで"resourceRef"=trueを利用("jdbc/myDb" などの名前解決が可能に)
  • IBM DB2 と MS SQL の SQLException の変換を修正
  • PostgreSQL で Blob/Clob のインスタンスを扱えるように、DefaultLobHandler に "wrapAsLob" プロパティを追加
org.springframework.orm パッケージ
  • HibernateTemplateにexecuteWithNewSession()とexecuteWithNativeSession()メソッドを追加
org.springframework.scheduling パッケージ
  • ThreadPoolTaskExecutorにwaitForTasksToCompleteOnShutdown()メソッドを追加
  • ThreadPoolTaskExecutorのデフォルトの動作を、スケジュールされたタスクをwaitするのではなく、すぐにシャットダウンするように変更
  • ThreadPoolTaskExecutorはCustomizableThreadFactoryを継承し、デフォルトのファクトリとして利用
  • ThreadPoolTaskExecutorはbeanの名前をデフォルトのスレッド名のprefixとして利用
org.springframework.scripting パッケージ
  • ResourceScriptSourceが jar/zip に含まれたスクリプトファイルの更新に対しても対応
org.springframework.test パッケージ
  • SimpleJdbcTestUtilsのexecuteSqlScript()メソッドがstatement間をセミコロンで区切ることで複数のstatementを一行に記述可能に
  • SpringJUnit4ClassRunnerが@Beforeメソッド内でAssumptionViolatedExceptionをcatch可能に(JUnit 4.4と同じように)
  • TransactionalTestExecutionListenerが異なるテストメソッドでconcurrent(並列?)なトランザクションを扱えるようになった
  • TransactionalTestExecutionListenerがトランザクション毎に再度トランザクション・マネージャを取得
  • Abstract(Transactional)JUnit(38/4)SpringContextTestsのクラスを実際にabstractとなるように修正
org.springframework.transaction パッケージ
  • JtaTransactionManagerがGlassFishトランザクション・マネージャをハンドリングするために"java:appserver/TransactionManager"というJNDIロケーションに対応
org.springframework.util パッケージ
  • NumberUtilsで0から始まる数値はdecimalとして扱うように修正
  • MethodInvokerがアクセス修飾子に関係なく全ての宣言されたメソッドを読み込み/実行可能に
org.springframework.web パッケージ
  • ContextLoaderが"contextConfigLocation"の値にシステムプロパティのプレースホルダーを利用可能に
  • RequestContextFilterが初期パラメータに"threadContextInheritable"をサポート(DispatcherServletと同様)
  • HttpRequestHandlerServletがHttpRequestMethodNotSupportedExceptionをHTTPステータスコード405に変換
  • DispatcherServletがデフォルトではHttpRequestMethodNotSupportedExceptionをHTTPステータスコード405に変換
  • ControllerClassNameHandlerMappingがデフォルトでは@Controller宣言されたbeanを検知
  • ControllerBeanNameHandlerMappingクラスを追加
  • AnnotationMethodHandlerAdapterの@InitBinderメソッドで@RequestParamアノテーションを利用可能に
  • JSPのOptionTagとOptionsTagがid属性をサポート
  • JSPのFormTagにHTMLのtarget属性を追加