Hi Eric,
I think you are doing it right *not* to use a DI library or framework as long as it can be avoided.
It might be very unpopular but I think a good developer is always able to keep things simple enough to not need it from a technical perspective.
Why then Silk ? When I started I thought, _how hard could it be?_ to do anything better than spring or guice, those 2 you are typically _forced_ to use at your day job.
This grew bigger and finally I had put together a DI library as I wanted to have it, when working in one of this typical oversized projects with to many developers and to much XML and annotation magic.
Even though I think Silk is the most elegant and simple to use and scale DI tool out there I got quite sure that if you are doing it right you shouldn't need any DI tool at all.
One exception thou I recognized are political motivated features and decisions that sadly happen more often in our day jobs than we would like to.
A system that is sold as a bunch of "modules" to customers will quickly cause bootstrapping hell due to the unlimited possibilities of assembling the product.
Than a tool like Silk might actually improve the maintainability over something wired manually.
Finally we as java developers have to admit that it is the rule not the exception that we work in a team that is to big and has to many "juniors" in it to not mess up a "hand crafted" solution.
This is again where mostly politics mess up the systems we build. The agile "culture" has done its killing stroke in may places.
My hope would be that Silk can help improving the situation in such projects by offering an alternative to the mainstream DI frameworks that actually allows and has the goal to get rid of the "need" for a DI tool at all.
Cheers,
Jan