Ich habe seit einiger Zeit mit Feder, aber ich mich immer gefragt, wie es funktioniert, genauer gesagt, wie laden sie und weben Bohnen/Klassen markiert nur mit einer Schnittstelle oder @ Annotation.Internals Spring Framework und andere IoC Container
Für die XML-Deklarationen ist es einfach zu sehen, wie Spring meine Beans vorverarbeitet (sie sind in dem xml-Kontext im Frühjahr gelesen), aber für die nur mit Anmerkungen markierten Klassen kann ich nicht sehen, wie das funktioniert Ich gebe keinen Agenten an den JVM oder so weiter.
Ich glaube, es gibt einige Java/JVM Haken, die Sie Vorprozess Klassen durch eine Art von Kriterien erlaubt, aber ich war nicht in der Lage, alles auf die Dokumentation zu herausgefunden.
Kann mir jemand einige Dokumente zeigen? Handelt es sich um die java.lang.instrument.ClassFileTransformer API?
Danke, tolle Antwort! Ich war etwas verwirrt darüber, wie Spring oder irgendein anderes Framework auf meine Klassen zugreifen konnte, ohne dass ich sie an den Container lieferte, aber jetzt macht es Sinn :) –
Ich sollte darauf hinweisen, dass die Verwendung von Proxy bedeutet, dass Sie Code zu Interfaces verwenden müssen, um Spring zu verwenden ohne Weben (Proxy funktioniert nur mit Schnittstellen) –
Nein. JDK-Proxies funktionieren nur mit Schnittstellen, CgLib-Proxies arbeiten auch mit normalen Klassen. –