Inyección de dependencia impulsada por anotaciones que maneja diferentes entornos.

Creo que la razón principal por la que muchos profesionales no cambian a la inyección de dependencia impulsada por anotaciones es que no admite el cambio entre entornos de desarrollo / prueba / producción. Para propósitos de desarrollo, en muchos casos usted usa no solo servicios diferentes (y conexiones para ellos), sino que a veces necesita burlarse de ellos o crear instancias ficticias.

Ayer encontré una solución con la anotación Spring:

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

... lo que debería funcionar, pero no agradable.

Me interesaría mucho por sus soluciones o argumentos: ¿por qué no es un problema real ;-) Guice, Spring o cualquier otro son bienvenidos?

El tema original era parte de este hilo:Spring @Autowired use, pero pensé que valía la pena crear un nuevo hilo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta