I have just released SDI - Simple Dependency Injection framework.
It is really light and does not enforce anything on a user, does not use annotations, or any kind of XML. It helps also with structuring the code by separating creation logic from business logic.
Full Java implementation is less than 300 LOC of code.
Currently, it is implemented in Java only, but if you find it interesting I will create Scala version also.
Please let me know your comments and suggestions.
And for sure let me know if you want it in Scala
In fact, all dependencies must be statically available at compile time. After all, you have to code them up in creators.
But I think that you are referring to static DI like in MacWire? I didn’t think about such a functionality, and right now I don’t know how to implement that and keep at the same time current design principles. Current design encourages to encapsulate creation of objects in separate classes - creators, which is helpful for testing. If I follow the pattern of in-place creation, then I will have to give up this feature.