在JAX-WS Web服务中启用SpringBeanAutowiringSupport时出错

时间:2011-03-30 11:47:50

标签: java web-services spring jax-ws

我正在尝试在我的网络服务中启用Spring自动装配支持,遵循

public class MyService extends SpringBeanAutowiringSupport implements SomeInterface {

private Dao dao;

@Autowired
public void setDao(Dao dao) {
    this.dao = dao;
}

使用

注释MyService类
@WebService(endpointInterface = "SomeInterfacePath")

然而,当我尝试运行它时,我得到了一个

java.lang.NoSuchMethodError: org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext()Lorg/springframework/web/context/WebApplicationContext;
at org.springframework.web.context.support.SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(SpringBeanAutowiringSupport.java:81)
at org.springframework.web.context.support.SpringBeanAutowiringSupport.<init>(SpringBeanAutowiringSupport.java:68)

错误,我无法找到解决方案。我正在使用Spring 3.0 jar和apache-cxf。 Spring自动装配在我​​的项目的其他地方工作,但似乎在这里不能很好地发挥作用。关于发生了什么的任何想法?我在appConfig中定义了一个jaxws端点

<jaxws:endpoint 
    id="myendpoint" 
    implementor="MyService" 
    address="/helloworld
    />

1 个答案:

答案 0 :(得分:1)

直到最近,Apache CXF还将Spring 2.5.5作为maven依赖。 但是,CXF 2.3版和更新版使用Spring 3。

两者都包含一个{Spring}与指定版本绑定的<dependencymanagement>部分。