Keep Dependency Injection Simple

My biggest problem with DI containers (at least with annotation-driven ones) is the lack of compile-time checking of whether all your dependencies are set up and set up correctly.
With non-annotation-driven ones, I don't really see the benefit, the same way you don't.