我正在开发一个应用程序,它使用 com.sun.xml.ws.transport.http.servlet.WSSpringServlet
(JAX-WS RI Spring 插件)部署 JAX-WS Web 服务)。应用程序正在设置为让端点类(用 @WebService
注释)调用一个或多个服务,这些服务又调用 DAO。
似乎 bean 的 Autowiring 在端点类中起作用以拉入我的服务层,但是服务层中用 @Autowired
注释的任何内容都无法拉入 DAO。我没有加载 Spring DisptacherServlet
,因为我没有使用此应用程序仅使用 ContextLoaderListener
和 WSSpringServlet
托管任何其他 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/