Ich weiß nicht, ob Sie einen Interceptor als Kopplung verwenden, aber das ist meines Wissens der Standardansatz. Aus der Kapitel 18. Integration von Enterprise Java Beans (EJB) der Dokumentation:
18.3.2. EJB 3 Injektionsabfangvorrichtung
Für EJB 3 Session Beans und Message-Driven Beans, Frühling bietet ein praktischer Interceptor, der verrechnet wird Spring 2.5's
%Vor%@Autowired
Annotation in der EJB-Komponentenklasse: %Code%. Dieser Interceptor kann angewendet werden durch ein %Code% Annotation in der EJB-Komponentenklasse, oder durch eine Interzeptor-bindende XML Element in der EJB-Bereitstellung Deskriptor.
org.springframework.ejb.interceptor.SpringBeanAutowiringInterceptor
von Standard erhält Ziel-Beans von a %Code%, mit dem in einer Bean definierten Kontext Definitionsdatei mit dem Namen %Code%. Standardmäßig a einzelne Kontextdefinition wird erwartet, was nach Typ und nicht nach erhalten wird namentlich. Jedoch, wenn Sie müssen Wählen Sie zwischen mehreren Kontexten Definitionen, ein spezifischer Locator-Schlüssel ist erforderlich. Der Lokalisierungsschlüssel (d. H Name der Kontextdefinition in@Interceptors
) kann sein explizit angegeben entweder durch das Überschreiben derSpringBeanAutowiringInterceptor
Methode in a Brauch %Code% Unterklasse.
Die einzige andere Option, die mir bekannt ist (Erweiterung der EJB 2.x-Support-Klassen), ist aus Sicht der Kopplung viel schlechter (und beantwortet daher Ihre Frage nicht).