問題タブ [jsr330]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dependency-injection - PicoContainer JSR-330 @Named サポート?
PicoContainer は、 JSR-330@Inject
および@Named
. (いいえ、この別の質問は役に立たないようです。PicoContainer サイトが JSR-330 のサポートが追加されたと述べているという事実に対処していないためです。)
次のようにコンテナに何かを追加します。
@Named
コンストラクターのパラメーターを次のようにマークします。
しかし、Foo
インスタンスを取得しようとすると、PicoContainer はインスタンスが多すぎBar
て選択できないと文句を言います。
質問 1:コンストラクター インジェクションで PicoContainer を使用するにはどうすればよい@Named
ですか?
次に、内部でフィールド注入を使用しようとしますFoo.java
:
それもうまくいきません。
質問 2: PicoContainer をコンストラクター インジェクション@Inject
と連携させるにはどうすればよいですか?@Named
それとも、PicoContainer のニュース ページが間違っていて、単に JSR-330 に対する PicoContainer 2.x のサポートがまったくないのでしょうか?
java - Java EE プロジェクトで Dagger 2 を使用できますか?
私の上司は Dagger 2 について調査しており、私の JSF プロジェクトでこれを使用することを望んでいます。Dagger 2 と Android に関する多くのリファレンスを見てきました。しかし、このフレームワークを JSF Web アプリケーションで使用することは可能でしょうか?
spring - Spring、Guice、Weld、またはその他の DI 実装の切り替え
その上で、他のチームがアプリケーションを開発するフレームワークを作成しています。
その一環として依存性注入を提供したいと考えています。私は開発者に JSR 330 アノテーションを使用させており、私のフレームワークは DI で動作します。
それでも私は次の問題を抱えています
開発者は、 Guiceを使用する場合はモジュールを、 WELDを使用する場合はbeans.xmlを作成する必要があります。これにより、特定の DI が開発者アプリ コードと結合されます。アプリケーション コードに一切触れずに、フレームワーク内の基になる依存性注入を切り替えたい。
とにかくそれを行うことはありますか?
java - アプリケーションコンテキストを注入するための JSR-250 と JSR-330
JSR-330 @Inject アノテーションが ApplicationContext を Bean に取り込まないという問題が発生しています。JSR-250 @Resource アノテーションを使用すると、適切に注入されます。はい、私は MyClass に ApplicationContextAware を実装させることができることを知っていますが、なぜ @Resource が機能するのか疑問に思っていますが、@Inject は機能しません。spring-context バージョン 4.1.6.RELEASE と Java 8 を使用しています
これは機能します:
これには ApplicationContext が null として含まれています
java - javax.inject.Provider の注入時の NoSuchBeanDefinitionExceptionSpring を使用してコンストラクターに
コンストラクターベースの依存性注入を使用して、サービスに aを注入しjavax.inject.Provider<T>
ています。Spring Framework (4.2.5) では、NoSuchBeanDefinitionException
「依存関係のタイプ [T] の適格な Bean が見つかりません。T
注入中に Spring が期待するのはなぜjavax.inject.Provider<T>
ですか? 」というメッセージがスローされます。
サンプルコードは次のとおりです。
プロバイダー:
サービス:
テスト:
エラーメッセージは次のとおりです。
「greetingService」という名前の Bean の作成中にエラーが発生しました: コンストラクターによる Bean のインスタンス化に失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: インスタンス化に失敗しました [GreetingService]: コンストラクターが例外をスローしました。ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualing bean of type [java.lang.String] found for dependency: この依存関係の autowire 候補として修飾される少なくとも 1 つの Bean が必要です。依存関係の注釈: {}