Question

Je l'ai remarqué récemment que le printemps peut câbler mes ejb est pour moi si j'annoter les ejb avec @Interceptors (SpringBeanAutowiringInterceptor.class). Je ne l'ai jamais vraiment fait ce donc je ne sais pas les détails.

Je me demandais, est-il un moyen d'obtenir ce travail avec d'autres types de haricots, par exemple, les @WebService annotés ainsi.

À l'heure actuelle dans mes classes de services Web (parce que le serveur d'application gère les) Je dois charger les dépendances du BeanFactory et préférerait donc les ont autowired.

Je sais que je pourrais utiliser l'annotation @Configurable mais je ne suis pas particulièrement désireux d'avoir à spécifier et agent sur la machine virtuelle.

Est-ce possible?

Était-ce utile?

La solution

Encore une fois, le printemps a pensé à ce cas et pris en charge l'utiliser!

Le problème est que @WebService est pas printemps annotation, il est JAX-WS annotation et donc des classes qui sont annotés avec @WebService à être exposé comme web services ne sont pas gérés par le printemps, mais leur cycle de vie est géré par JAX-WS.

La façon de traiter ce cas est d'avoir le bean géré JAX-WS étendre org.springframework.web.context.support.SpringBeanAutowiringSupport - cela permettra l'annotation @Autowire, par exemple, de travailler dans ce haricot. voir ici pour plus d'informations

Autres conseils

Oui, bien sûr. Il y a @WebService, @Repository, @Controller, @Service, @Endpoint et autres annotations au printemps. Voici un .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top