Czytałem więcej na temat zasady Inversion of Control i Dependency Injection jako jej implementacji i jestem całkiem pewien, że ją rozumiem.
Wydaje się, że w zasadzie mówi „nie deklaruj instancji członków klasy w obrębie klasy”. Zamiast tego instancje powinny być przekazywane i przypisywane przez konstruktora; „wstrzyknięty” do klasy z zewnętrznego źródła.
Jeśli jest to takie proste, jak się wydaje, to po co nam ramy takie jak spring lub guice, które implementują to za pomocą adnotacji? Czy brakuje mi czegoś fundamentalnego? Naprawdę staram się zrozumieć, jakie są zastosowania struktur wstrzykiwania zależności.
Edycja: Jeśli chodzi o możliwy duplikat, uważam, że moje pytanie jest bardziej unikalne, ponieważ dotyczy ogólnie frameworków DI, a nie tylko wiosny. Wiosna to nie tylko środowisko DI, więc istnieje wiele powodów, dla których ktoś chciałby używać Springa, które nie są związane z DI.