我正在尝试在我的网络服务中启用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
/>
答案 0 :(得分:1)
直到最近,Apache CXF还将Spring 2.5.5作为maven依赖。 但是,CXF 2.3版和更新版使用Spring 3。
<spring.version>2.5.5</spring.version>
<spring.version>3.0.4.RELEASE</spring.version>
两者都包含一个{Spring}与指定版本绑定的<dependencymanagement>
部分。