I think the main reason why many professional does not switch to annotation-driven dependency injection is that it does not support switching between development/test/production environments. For development purposes in many cases you use not only different services (and connections for them), but sometimes you need to Mock them, or create Dummy instances.
Yesterday I figured out one solution with Spring annotation:
@Value("#{${env} == "production" ? realService : dummyService}")
private SomeService service;
...which should work, but not nice.
I would be very interested for your solutions, or arguments: why is it not a real issue ;-) Guice, Spring, or any other are welcome.
The original issue was a part of this thread: Spring @Autowired usage, but I thought it worth a new thread to be created.