Spring 3.0 が JSR-330 の @Inject をサポートしているように見えるいくつかの Web ページから気付きました。Web アプリとスタンドアロン アプリケーションの両方のライブラリで依存性注入に JSR-299 構文を使用したいと考えており、Weld の代替手段があるため、Spring でこれができると便利です。
Spring の初心者なので、Spring Framework ディストリビューションをダウンロードして、すべての jar を Eclipse ビルド パスに配置してみました。Inject アノテーションがないため、Weld を使用した既存のテスト プロジェクトはコンパイルされませんでした。
これはSpringでできますか?実行するにはどうすればよいですか?
(最終的には Guice もこれをサポートすることを認識しています。現時点では SVN のみであり、それが可能な公式の Spring リリースがあれば、それがより良いでしょう。)
それはできます。JSR-330 jar は個別にダウンロードする必要があり、手動で記述された @Configuration クラスを解析するための cglib と、コモンズ ロギングの実装が必要です。
Weld との最大の違いは、配線を魔法のように見つけるのではなく、手動で作成する必要があることです (少し面倒ですが、より堅牢なアプリケーションを作成できる可能性があります)。さらに、起動時間がはるかに短くなります。私はまだSpringを初めて使用しています.@Configurationクラスを自動検出する方法はありますか?