gpt4 book ai didi

java - 将 Spring 配置从 XML 转换为基于 Java : No Qualifying bean Exception

转载 作者:行者123 更新时间:2023-11-30 08:01:35 24 4
gpt4 key购买 nike

我有一个 XML 格式的 Spring 配置:

<bean id="webServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
<property name="marshaller" ref="marshaller" />
<property name="unmarshaller" ref="unmarshaller" />
<property name="messageSender">
<bean class="org.springframework.ws.transport.http.HttpComponentsMessageSender">
<property name="connectionTimeout" value="30000" />
</bean>
</property>
</bean>

我尝试切换到基于 Java 的配置,但收到错误“未找到 WebServiceTemplate 类型的合格 Bean”。我该如何修复它?

@Bean
public HttpComponentsMessageSender httpComponentsMessageSender() {
HttpComponentsMessageSender messageSender = new HttpComponentsMessageSender();
messageSender.setConnectionTimeout(30000);
return messageSender;
}

@Bean
public WebServiceTemplate webServiceTemplate(WebServiceTemplate template) {
template.setMessageSender(httpComponentsMessageSender());
return template;
}

最佳答案

您将 WebServiceTemplate 作为 @Bean 方法中的参数,因此 Spring 假定您已在其他位置创建了该类型的 Bean。如果你不这样做,Spring就会尖叫着提示不存在的 bean 。

您需要自己实例化它,就像 HttpComponentsMessageSender 一样:

@Bean
public WebServiceTemplate webServiceTemplate() {
WebServiceTemplate template = new WebServiceTemplate();
template.setMessageSender(httpComponentsMessageSender());
return template;
}

关于java - 将 Spring 配置从 XML 转换为基于 Java : No Qualifying bean Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31846890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com