Я думаю, что основная причина, почему многие профессионалы не переключились на введение зависимостей, зависящих от аннотаций, заключается в том, что она не поддерживает переключение между средами разработки/тестирования/производства. В целях развития во многих случаях вы используете не только разные службы (и соединения для них), но иногда вам нужно их имитировать или создавать экземпляры Dummy.
Вчера я выяснил одно решение с аннотацией Spring:
@Value("#{${env} == "production" ? realService : dummyService}")
private SomeService service;
... который должен работать, но не приятно.
Я бы очень интересовался вашими решениями или аргументами: почему это не настоящая проблема;-) Guice, Spring или любой другой приветствуются.
Исходная проблема была частью этого потока: Spring @Возможное использование, но я подумал, что стоит создать новый поток.