The major benefits of dependency injection or IOC are that it reduces the amount of coding required for the application.
This allows the testing of the application to be done quickly and easily as no JNDI lookup mechanism or singletons are required.
IOC containers also support lazy loading and eager installation of services.
https://www.baeldung.com/inversion-control-and-dependency-injection-in-spring