You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot 2迁移至3后@WebServiceRef未被调用,如何实现原功能?

SpringBoot 3迁移问题:@WebServiceRef标注的Setter方法未被调用

将代码从SpringBoot 2迁移到SpringBoot 3后,原正常运行的代码出现问题:MyDAO类中被@WebServiceRef标注的setRef方法从未被调用。

原相关代码

配置类代码

@Configuration
public class MyBeansProducer
{
   @Bean
   public MyDAO createDAO()
   {
      return new MyDAO();
   }
}

MyDAO类代码

public class MyDAO
{
   @WebServiceRef(WSMyInterfaceHttpService.class)
   public void setRef(Ref wsRef )
   {
      this.wsRef = wsRef ;
   }
}

此前在Spring 5.3.x版本中,CommonAnnotationBeanPostProcessor类中的相关逻辑负责处理@WebServiceRef标注的方法注入,但迁移到SpringBoot 3后该逻辑不再生效。

问题:该功能是否已不再被支持?如何在SpringBoot 3中实现相同的WebService引用注入功能?

临时解决方案

目前采用手动初始化并注入的方式实现:

@Bean
public MyDAO createDAO()
{
  WSMyInterfaceHttpService httpService = new WSMyInterfaceHttpService();
  MyInterface wsRef = httpService.getWSMyInterfaceHttpPort();
  
  MyDAO it = new MyDAO();
  it.setWsRef(wsRef);
  return it;
}

补充说明:Spring Framework仓库中有编号为31524的相关Issue讨论该问题。


内容的提问来源于stack exchange,提问作者Tomas Bjerre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 10:50:21