Quelque chose comme le câblage EJB au printemps pour les années non d'EJB
-
20-09-2019 - |
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?
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