我最近注意到,如果我用 @Interceptors(SpringBeanAutowiringInterceptor.class) 注释 ejb,spring 可以为我连接我的 ejb。我从来没有真正这样做过,所以不知道细节。
我在想,有没有办法让它与其他类型的 bean 一起工作,例如,@WebService 注释的 bean。
目前在我的 Web 服务类中(因为应用服务器管理它们)我必须从 BeanFactory 加载依赖项,因此更愿意让它们 Autowiring 。
我知道我可以使用 @Configurable 注释,但不是特别热衷于必须在 VM 上指定和代理。
这可能吗?
最佳答案
再一次,spring 想到了这个用例并迎合了它!
问题是@WebService 不是spring 注释,它是JAX-WS 注释,因此用@WebService 注释的类将作为Web 公开服务不由 spring 管理,但它们的生命周期由 JAX-WS 管理。
处理这种情况的方法是让 JAX-WS 托管 bean 扩展 org.springframework.web.context.support.SpringBeanAutowiringSupport - 例如,这将使 @Autowire 注释能够在此 bean 中工作。见here了解更多信息
关于java - 类似于非 EJB 的 Spring 中的 EJB 布线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1199047/