java - Spring 使用 WSSpringServlet Autowiring

标签 java spring jax-ws autowired

我正在开发一个应用程序,它使用 com.sun.xml.ws.transport.http.servlet.WSSpringServlet(JAX-WS RI Spring 插件)部署 JAX-WS Web 服务)。应用程序正在设置为让端点类(用 @WebService 注释)调用一个或多个服务,这些服务又调用 DAO。

似乎 bean 的 Autowiring 在端点类中起作用以拉入我的服务层,但是服务层中用 @Autowired 注释的任何内容都无法拉入 DAO。我没有加载 Spring DisptacherServlet,因为我没有使用此应用程序仅使用 ContextLoaderListenerWSSpringServlet 托管任何其他 Web 内容。

有什么方法可以让 Autowiring 在应用程序中的所有类中工作吗?或者,我应该考虑采用不同的方式来部署我的 Web 服务吗?

此外,当您使用 Spring 而不加载 DispatcherServlet 时,这似乎也适用于其他情况。例如使用 Spring-Quartz 集成。尽管我还没有尝试使用 Spring 管理的 Quartz 作业进行 Autowiring 。

最佳答案

所以,经过大量研究(以及我的头发),整个问题似乎归结为不是野餐。基本上在开发的早期,我放置了一行用于测试的代码,这些代码只是在我的服务内联实例中创建,而不是将其连接起来。显然,因此 Spring 不会管理我的类来自动连接任何内容。删除内联实例化并使用 Autowiring 实例解决了该问题。

  *facepalm*
  *facepalm*
  *facepalm*

关于java - Spring 使用 WSSpringServlet Autowiring ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12236816/

相关文章:

java - 声明一个全局变量以在所有 Activity 中使用

java - Maven:每个标签上都出现不可解析的 POM 无法识别的标签错误

java - Spring-boot 中 ConditionalOnBean 的意外行为

java - java 8 顺序流是否有任何直接或间接的性能优势?

java - 用于大富翁棋盘游戏的 Java 最佳 GUI 方法

java - 为什么 Autowiring 在线程中不起作用?

java - 注册用户后自动登录

java - 从 JAX-WS 生成 XSD 时如何避免 XSD 序列?

java - JAX-B 将字符串映射到 JAXBElement<String>

java - 没有 sun-jaxws.xml 的 Tomcat 上的 JAX-WS Web 服务