1

ファクトリの使用から依存性注入フレームワークの使用に変更したいサービスがいくつかあります。

Java 6+では、サードパーティのライブラリを使用せずにこれを達成できる「標準的な」方法はありますか? CDI (Contexts and Dependency Injection) はこのシナリオに適用できますか?

例は素晴らしいでしょう!シンプルに「見える」Guice を使い始めましたが、現在問題が発生しているため、他のオプションを検討しています。

4

2 に答える 2

1

DI と CDI は、Java 標準 JSR299 と JSR330 で定義されています。これらの標準をサポートする DI フレームワークであれば何でも構いません。CDI の場合、これは Weld-SE になります。DI の場合は、guice に固執することができ、うまく機能しました。

于 2013-04-03T14:32:01.700 に答える
0

あなたの質問はちょっと広いです。「Java 6+」と言うときは、JavaEE 6 を意味することを願っています。Java SE 6 は、サードパーティのライブラリなしではネイティブ DI を提供しないためです。

Java EE 空間内では、@ManagedBeanアノテーションはすべての DI ニーズの標準として機能するはずです。@ManagedBean(fromで注釈が付けられたものjavax.annotation.ManagedBeanはすべて、注入の適格なターゲットであり、他の Bean に注入することもできます。

たとえば、JAX-RS クラスは、それ自体ではインジェクションの適格なターゲットではありません。それに追加@ManagedBeanすると、EJB、リソース、およびその他のコンテキストグッズの注入に適格になります

于 2013-04-01T15:28:08.943 に答える