多くの専門家が注釈駆動型依存性注入に切り替えない主な理由は、開発/テスト/生産環境の切り替えをサポートしていないと思います。多くの場合、開発目的のために、異なるサービス(およびそれらの接続)を使用するだけでなく、それらをモックするか、またはダミーインスタンスを作成する必要があります。異なる環境を扱う注釈駆動依存性注入
@Value("#{${env} == "production" ? realService : dummyService}")
private SomeService service;
...動作するはずですが、素敵ではない:
昨日は1つの春の注釈を持つソリューションを考え出しました。
私はあなたのソリューションや議論のために非常に興味があります:なぜそれは本当の問題ではありません;-) Guice、Spring、または他の人を歓迎します。
元の問題はこのスレッドの一部でした:Spring @Autowired usageしかし、私はそれが新しいスレッドを作成する価値があると思った。