2009-07-29 11 views
3

Ich habe vor kurzem festgestellt, dass der Frühling meine Ejb für mich verdrahten kann, wenn ich den ejb mit @Interceptors (SpringBeanAutowiringInterceptor.class) annotieren. Ich habe das noch nie gemacht, also kenne die Details nicht.Etwas wie EJB Verkabelung im Frühjahr für nicht EJBs

Ich frage mich, gibt es eine Möglichkeit, dies mit anderen Arten von Beans zu arbeiten, zum Beispiel @ WebService annotiert.

Im Moment in meinen Web-Service-Klassen (weil der Anwendungsserver sie verwaltet) muss ich die Abhängigkeiten von der BeanFactory laden und würde es daher vorziehen, sie autowired zu haben.

Ich weiß, dass ich die Annotation @Configurable verwenden könnte, bin aber nicht besonders daran interessiert, auf der VM einen Agenten angeben und angeben zu müssen.

Ist das möglich?

Antwort

3

Wieder einmal hat der Frühling an diesen Anwendungsfall gedacht und dafür gesorgt!

Das Problem ist, dass @WebService ist keine Feder Anmerkung, es ist eine JAX-WS Annotation und damit Klassen, die mit @WebService kommentieren ausgesetzt sind, werden als Web-Service wird von Frühjahr verwaltet, sondern ihre Der Lebenszyklus wird von JAX-WS verwaltet.

Die Möglichkeit, diesen Fall zu behandeln, besteht darin, die JAX-WS-Verwaltungs-Bean org.springframework.web.context.support.SpringBeanAutowiringSupport zu erweitern - damit wird beispielsweise die @Autowire-Annotation in dieser Bean funktionieren. Weitere Informationen finden Sie unter here

1

Ja, natürlich. Es gibt @WebService, @Repository, @Controller, @Service, @Endpoint und andere Anmerkungen im Frühling. Hier ist ein example.

+0

Sie sind sich des @Repository und der anderen (sie stammen vom Frühling) bewusst, aber ich frage mich, ob Spring in der Lage sein wird, Objekte auf dem vom Anwendungsserver erstellten Objekt zu rotieren (@WebService Annotation)? –

Verwandte Themen