Depending on the language you use, there are some DI frameworks that are not so scary, although you will have some configuration files, but they should not be scary, but useful.
For example, I have one configuration file for development, one for testing and one for production.
So, depending on what I use, database connections can be changed, and I can change the database level for tests and use mock tests.
Sidadmins should control production configuration files, since developers should not insert anything into production, ideally.
Spring has a good setup for DI, although it is not lightweight.
I found that the Unity Framework is not trivial to learn, but once you use it, it's pretty easy to add new classes for injection.
So, something new can be intimidating, initially, but as you enjoy the concept, you can see the benefits, for example, I explained the three configuration files.
source share