Können Sie mir bitte Ratschläge geben, wie kann ich das Spring-Autowiring für Hibernate-Entitäten aktivieren?
Nehmen wir an, ich habe eine Entität und möchte dort einen Mail-Absender haben:
%Vor%Gibt es einen besseren Weg als
? %Vor%in meinem DAO?
Danke!
Es ist möglich! (Und es ist der Standard-Stil in Spring Roo!)
Alles, was Sie brauchen, ist, die @Configurable Annotation zu Ihrer Entity hinzuzufügen. Aktivieren Sie die Annotation in der Konfiguration <context:spring-configured/>
und verwenden Sie AspectJ Weben.
Es gibt ein Kapitel in der Frühlingsreferenz: 7.8.1 Verwenden von AspectJ zu Abhängigkeit injizieren Domänenobjekte mit Spring
Siehe auch:
BTW Ich empfehle dringend, AspectJ Compile Time Weben zu verwenden, wenn möglich.
Die Art, wie ich es mache, ist AutowiredAnnotationBeanPostProcessor.
Im Konstruktor Ihrer Entität fragen Sie den AutowiredAnnotationBeanPostProcessor, "this" zu injizieren.
Meine Kommentare am Ende von in diesem Artikel beschreiben die Technik. Der Artikel spricht über eine ähnliche Methode zum Autowiren von Hibernate-Entitäten.
Es scheint einen besseren Weg als aspectj-weben zu geben, nämlich einen Hibernate LoadEventListener
zu verwenden, der in diesem Post erläutert wird .