Wie funktioniert Spring Autowired?

2 Antworten

Das Prinzip nennt sich Dependency Injection und ist nicht die große Zauberei.

https://www.vogella.com/tutorials/DependencyInjection/article.html

https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-collaborators.html

Das Framework erkennt die Annotationen, sucht nach passenden Klassen und erzeugt Instanzen von diesen, die es dann in deiner Klasse automatisch setzt. Statt dass du selbst die Instanzen erzeugst und "hartverdrahtet" anlegst, deklarierst du nur, welche Objekte du willst, und überlasst die Instanziierung dem Laufzeitsystem. Hier halt Spring. Umgesetzt wird das in der Regel mittels Reflection.

Das fasziniert mich total und ich denke nachts darüber nach und hab deshalb Schlafprobleme.

Ein sehr häufiges Problem. Halte durch, du bist nicht allein!


SikerimAMK31  15.09.2024, 12:40
Ein sehr häufiges Problem. Halte durch, du bist nicht allein!

Echt? Ich kann mich jetzt nicht erinnern, dass ich wegen mittlerweile Standardkram wie DI mal nicht schlafen konnte.

technisch gesehen ist die antwort (in spring) reflection.

bisschen tiefergehend geht es um ein konzept mit dem titel DI/dependency injection.

dabei geht es im wesentlichen darum, dass du dich auf deine business logik fokussieren kannst ohne dich damit zu beschäftigen wie du die ganzen instanzen/dependencies dafür providest.

im hintergrund werden objekte erzeugt und quasi über deine autowired annotation zu der variable geroutet/injiziert.