Perhaps it's just a matter of language/terminology. A lot of people equate DI with spring, or other framework and think its impossible without a slow and complicated framework. However, of course using a constructor is just the same. Once people understand this, they can sometimes be very enthusiastic about constructors! You "inject" the object dependencies using a constructor, and that's it! No annotations, no xml, no scopes, no reverse dependencies...