Page History
...
Code Block | ||||
---|---|---|---|---|
| ||||
@WebServlet("/*") public class NotificationBrokerServlet extends HttpServlet { ... @Override public void init() throws ServletException { Object o = getServletContext().getAttribute(NotificationBrokerServletContextListener.ANNOTATION_CONFIG_CONTEXT); if(o != null && o instanceof AnnotationConfigApplicationContext) { ((AnnotationConfigApplicationContext)o).getAutowireCapableBeanFactory().autowireBean(this); } } |
Bruger man derimod en JAX-WS genereret servlet kan denne autowiring ske ved brug af @PostConstruct annotationen, demonstreret ved eksemplet her fra FGVHR:
Code Block | ||||
---|---|---|---|---|
| ||||
public abstract class AbstractFgvhrWS {
@Resource
protected WebServiceContext context;
@PostConstruct
public void init() {
ServletContext servletContext = (ServletContext) context.getMessageContext().get(MessageContext.SERVLET_CONTEXT);
Object o = servletContext.getAttribute(ANNOTATION_CONFIG_CONTEXT);
((AnnotationConfigApplicationContext)o).getAutowireCapableBeanFactory().autowireBean(this);
}
|
I eksemplet her extender klasserne der implementerer de genererede JAX-WS klasser den abstrakte klasse.
Afsluttende
Samlet set udgør dokumentet her med eksempler en vejledning til hvordan DI i NSP's java-komponenter skal håndteres med brug af konfigurationsklasser, beans, autowiring og AnnotationConfigApplicationContext / AnnotationConfigWebApplicationContext.