1

Spring を使用すると、 を実装するクラスを定義できますMessageSourceAware。その後、コンテナーは をMessageSource自動的に注入します (このドキュメントの末尾を参照してください)。

これは特殊なケースですか、それともこの概念を使用して他の依存関係を注入できますか? たとえば、私のクラスは次のインターフェースを実装できますか?

public interface MyServiceAware {
  void setMyService(MyService service);
}

そして、どういうわけか適切なBeanで自動配線されますか?

注: 私は現在 XML 構成のみを使用しており、Java ベースの注釈に移行するのは気が進まないでしょう。

4

1 に答える 1

2

*Awareインターフェイスは、アプリケーション コンテキストに自動的に登録される によって処理されますBeanPostProcessor( org.springframework.context.support.ApplicationContextAwareProcessor)。

MyServiceAware独自のポストプロセッサーを作成して登録し、 Beanを処理できます。

XML 構成は、適切に構成された Bean のオートワイヤーをサポートしていることにも注意してください。

于 2013-03-15T21:07:30.990 に答える