首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring WebserviceTemplate未注册

Spring WebserviceTemplate未注册
EN

Stack Overflow用户
提问于 2013-02-06 22:54:58
回答 1查看 2.8K关注 0票数 2

我得到了一个错误,我无法弄清楚它是用来做什么的,与Spring WebserviceTemplate相关。

下面是类的定义:(有趣的是,如果我去掉@Service注释,它就能正常工作。)

代码语言:javascript
复制
@Service
public class PTSWebServicesClientStubImpl implements PTSWebServicesStub
{
    @Autowired
    @Qualifier("PTS")
    private WebServiceTemplate ptsWebServiceTemplate;
 .....//
 }

下面是xml配置:

代码语言:javascript
复制
<bean id="ptsWebServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
    <qualifier value="PTS" />
    <constructor-arg ref="messageFactory" />
    <property name="marshaller" ref="ptsJaxbMarshaller" />
    <property name="unmarshaller" ref="ptsJaxbMarshaller" />
    <property name="interceptors">
        <list>
            <ref bean="loggingInterceptor" />
        </list>
    </property>
</bean>

当我尝试部署它或从Junit test调用它时,我得到以下错误:

代码语言:javascript
复制
  Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.springframework.ws.client.core.WebServiceTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true), @org.springframework.beans.factory.annotation.Qualifier(value=PTS)}
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:920)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:789)
   at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703)
   at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:474)
   ... 100 more
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-07 00:58:15

如果属性和Spring bean id使用相同的名称,则不需要限定符注释。

如果您仍然希望这样做,可以使用"ptsWebServiceTemplate“作为限定符注释的属性值。

XML中的限定符元素用于自定义限定符注释类型(您自己的注释使用@Qualifier本身进行注释)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14731975

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档