Penso che il motivo principale per cui molti professionisti non passino all'iniezione delle dipendenze basata su annotazioni è che non supporta il passaggio tra ambienti di sviluppo/test/produzione. Per scopi di sviluppo, in molti casi non si utilizzano solo servizi diversi (e le relative connessioni), ma a volte è necessario prenderli in giro o creare istanze fittizie.Iniezione dipendenza basata sull'annotazione che gestisce ambienti diversi
Ieri ho capito una soluzione con annotazione Primavera:
@Value("#{${env} == "production" ? realService : dummyService}")
private SomeService service;
... che dovrebbe funzionare, ma non è bello.
Sarei molto interessato alle vostre soluzioni o argomenti: perché non è un vero problema ;-) Guice, Spring, o qualsiasi altro sono i benvenuti.
Il problema originale era una parte di questo thread: Spring @Autowired usage, ma ho pensato che valesse la pena creare un nuovo thread.