在非wrapper中调用 feigin,注入null失败,在controller中是可以的

Java 未结 1 1526
1059315740
1059315740 2019-12-14 16:19


一、该问题的重现步骤是什么?

1. 新起一套feign,在controller中调用成功。

2. 在wrapper中进行注入,提示No Beans found

3.问题我已通过多种方式尝试解决,调用feigin的实现类是自动生成的,矛盾在于controller可注入,wrapper(或其它普通类)不能注入


二、你期待的结果是什么?实际看到的又是什么?

 可以在wrapper中注入feigin,并调用

image.png


image.png


image.png

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex 2.1.0


四、请提供详细的错误堆栈信息,这很重要。

image.png


五、若有更多详细信息,请在下面提供。

在controller中注入正常,在wrapper中不能注入

其它各种注入方式也尝试了,并没有解决问题,求解决,非常感谢。



1条回答
  •  admin
    admin (楼主)
    2019-12-15 21:37

    Controller层本身是一个bean,所以用@Autowried和@AllArgsConstructor都可以进行bean的注入

    而Wrapper本身不是bean,就算你加了@Component注解,你的引用方式也不是依赖注入,所以会空指针。

    这种情况,推荐使用静态注入的方式。

    private static ISysClient sysClient;
    
    private static ISysClient getSysClient() {
       if (sysClient == null) {
          sysClient = SpringUtil.getBean(ISysClient.class);
       }
       return sysClient;
    }


    0 讨论(0)
提交回复