Springboot项目报错Service为null

#图书归还操作时报错Cannot invoke "cn.edu.hnkjzy.service.RecordService.addRecord(cn.edu.hnkjzy.domain.Record)" because "this.recordService" is null
#代码

img

img

img

img

img


#报错

img

img

service 没有注入,看看是不是少了注解

请确认下RecordService是否注入(是否添加了@Service注解)

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇文章:SpringBoot中自定义类注入Service对象为null 也许有你想要的答案,你可以看看
  • 除此之外, 这篇博客: 解决:SpringBoot @Service == null 服务实例空指针中的 报错全称 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    1)调用接口时,service为null,项目启动正常,如图:
    在这里插入图片描述

    2)在同一个类,只有一个新写的接口是这样的,其它接口都是好的
    正常的图示↓:
    在这里插入图片描述

  • 以下回答来自chatgpt:

    针对这个问题,可能出现Service为null的原因很多,下面提供一些可能的原因和解决方法:

    1. 检查Spring容器中Service是否被正确注入,可能出现注入失败或忘记加注解的情况。可以在Service类上加上@Service注解,或者在配置类上加上@ComponentScan注解扫描Service所在的包。

    2. 检查Service类是否被正确实现。如果没有实现,可以继承该接口并实现其中的方法。

    3. 检查调用Service的方法是否在Spring容器中被正确注入。可能出现类似以下代码的情况:

    @Autowired private Service service; //此时service为null 这种情况需要检查使用@Autowired注解的对象是否在Spring容器中被正确注入,可以尝试使用构造函数注入或者在调用对象类上加上@Component注解。

    1. 检查是否有配置文件中缺少配置,可能导致Spring Boot在启动时无法正确加载服务。可以检查application.properties或application.yml中是否有对服务的配置,确保所有需要的配置都存在。

    2. 检查是否有其他错误导致Service实例化失败,比如程序运行时出现异常等。可以打印日志进行排查。

    总的来说,检查Service为null的原因很多,需要仔细检查代码和配置文件等,定位异常所在,并找到合适的解决方案。在排查过程中可以使用日志打印或者调试器进行辅助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^