Java ServiceImpl方法不断返回null

问题描述 投票:0回答:1

我对使用MVC和spring并不陌生,在添加服务文件时遇到了麻烦。我有3个文件:Controller.java,Service.java和ServiceImpl.java。我的目标是将现有Controller类中的所有当前服务逻辑移到Service级别,因此我知道方法中的逻辑不是问题。我面临的问题是我尝试从Service调用的所有方法Controller.java中的.java返回null并导致空指针错误。

我已经看到很多自动连接变量为null的解决方案,但是我很确定这不是我的问题。

Controller.java

@Controller
public class Controller {
    @Autowired
    private final Service service;

@RequestMapping(method = RequestMethod.POST)
    public @ResponseBody Object post() {
        ServiceType var1 = service.serviceMethod(); ---> always sets var1 to null
        service.serviceMethod2(var1); ---> Throws NPE
  }
}

Service.java

public interface Service{
    ServiceType serviceMethod();
    ServiceType serviceMethod2(ServiceType serviceType);
}

ServiceImpl.java

@Service
public class ServiceImpl implements Service{

    ServiceType serviceMethod(){
       *calculate*
    }

    ServiceType serviceMethod2(ServiceType serviceType){
       *calculate*
    }
}

在IntelliJ中可以看到我的服务变量=“ service”,因此它似乎是从正确的位置提取的。

我已尽力以通用方式重新创建代码。我觉得可能缺少一些可能导致此问题的小连接,因此,对此原因的任何想法将不胜感激!

java spring service null autowired
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.