春とjavax.enterprise.injectの関係は何ですか?
-
24-10-2019 - |
質問
Java EEアプリケーションサーバーに関するWikipediaの記事をここで読んでいました。
http://en.wikipedia.org/wiki/java_platform,_enterprise_edition#java_ee_5_certified
Java App Servicesの実装が次のようになっている2つのAPIは次のとおりです。
javax.enterprise.inject
javax.enterprise.context
これらは両方とも、アプリケーションコンテキストと依存関係噴射JSR-299に関連しています。これらのAPIを聞いたことがありませんでした。 SpringはこれらのAPIを実装していますか?彼らがやったなら、それは誰にとっても重要でしょうか?
解決
- JSR-330は一連の注釈を定義します(
javax.inject
)異なる依存関係噴射フレームワーク全体で使用されます。仕様はロッドジョンソン(春から)、および(Google Guice)のBob Leaが主導しました - (一部)仕様のリードのため、SpringとGuiceはこの注釈のセットをサポートしています
これは、春に使用されるJavaeeの一部です。
同じセットがJSR-299で使用されており、JBossのGavin Kingが主導しています。ただし、JSR-299(CDIとも呼ばれます)は使用します javax.enterprise.inejct/context
そして、まったく新しい依存関係のフレームワークです。これは、春、ギス、縫い目のアイデアに基づいていますが、JSRとして正式に指定されており、他のJavaee部品とのスムーズな統合と同様に、多くのコーナーケースをカバーすることを目指しています。
JSR-299は、具体的な実装を開発できるように、APIとSPIの両方を定義します。現在の実装はです jboss溶接, Apache OpenWebbeans と 樹脂カンディ.
だから、あなたの質問に答えるために - 間に直接的な関係はありません javax.enterprise.inject
と春。
他のヒント
SpringはJSR -330の@Injectをサポートしています - @Autowiredの代わりに使用できます( required
財産)。
また、ClassPathにJSR 330ジャーを用意する必要があります。