0

Spring2.5には、Beanタグに指定できるdependency-checkと、親レベルのタグに指定できるdefault-dependency-checkと呼ばれる機能がありました<beans>

例えば:<bean id="soandSo" class="..." dependecy-check=""/>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" 
    default-dependency-check="all">

ただし、Spring3.xでは、これらの属性は非推奨です。属性を使用する以外@Requiredに、Spring3.xのdefault-dependency-checkと同等の依存関係チェックを設定する別の方法はありますか?

4

2 に答える 2

1

この機能は、Spring3.x以降サポートされているロガーではありません。@RequiredSpringに敬意と@Autowired注釈を指示することで、同様の結果を得ることができます。これは、XMLコンテキストファイル内の次の構成オプションのいずれかを使用して実行できます。

  1. <context:annotation-config/>
  2. <context:component-scan base-package="*"/>

およびBeanPostProcessorsなどの適切なものを登録することにより、これらのオプションをスキップできます。AutowiredAnnotationBeanPostProcessorRequiredAnnotationBeanPostProcessor

于 2013-01-02T20:41:36.423 に答える
0

いいえ、Spring 2.5ではアノテーションが完全に採用されており、フレームワークがこれらのタイプの変更を通じて進化するにつれて、アノテーションがフレームワークを可能な限り明確かつわかりやすく保つための強力な推進力であり続けることは明らかです。

Springチームは、開発者が今後(Spring 3以降で)次の代替手段を使用することを推奨しています。

  • コンストラクター(セッターインジェクションの代わりにコンストラクターインジェクション)を排他的に使用して、適切なプロパティが設定されていることを確認します。専用のinitメソッドを実装してセッターを作成します。
  • @Requiredプロパティが必要な場合は、注釈付きのセッターを作成します。
  • @Autowiredデフォルトで必須のプロパティも意味するドリブンインジェクションを使用します。
于 2012-10-18T13:30:28.897 に答える