Wtrysk zależności zależny od adnotacji, który obsługuje różne środowiska

Myślę, że głównym powodem, dla którego wielu profesjonalistów nie przełącza się na wstrzykiwanie zależności zależne od adnotacji, jest to, że nie obsługuje przełączania między środowiskami programistycznymi / testowymi / produkcyjnymi. W celach programistycznych w wielu przypadkach używasz nie tylko różnych usług (i połączeń dla nich), ale czasami musisz je wyszydzać lub tworzyć atrapy.

Wczoraj odkryłem jedno rozwiązanie z adnotacją Spring:

    @Value("#{${env} == "production" ? realService : dummyService}")
    private SomeService service;

... które powinno działać, ale nie miłe.

Byłbym bardzo zainteresowany twoimi rozwiązaniami lub argumentami: dlaczego nie jest to prawdziwy problem ;-) Witamy Guice, Spring lub jakikolwiek inny.

Oryginalny problem był częścią tego wątku:Wykorzystanie Spring @Autowired, ale myślałem, że warto stworzyć nowy wątek.

questionAnswers(2)

yourAnswerToTheQuestion