One of those de-facto standards appears to be Spring. There is little doubt, that inversion of control, or dependency injection, can be a great tool to decouple concrete dependencies. But Spring introduces just as many problems as it solves, and here's my take on why.
java
opinion
frameworks
open source