一次由Lombok的@AllArgsConstructor注解引发的错误及解决

 更新时间:2021年09月26日 09:33:09   作者:LeeShaoQing  
这篇文章主要介绍了一次由Lombok的@AllArgsConstructor注解引发的错误及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

由Lombok的@AllArgsConstructor注解引发的错误

需求:在Service实现中写了一个方法调用第三方接口同步数据。 功能代码不做展示,比较普通的调用接口返回JSON数据。

直接看SpringBoot启动的报错信息:

Parameter 3 of constructor in org.springblade.modules.system.service.impl.UserServiceImpl required a bean of type 'java.lang.String' that could not be found.

在附一张图:

SpringBoot启动报错的信息

看了许多文章都是在说调用了多余的@Autowired

也可以说就是这个原因,但是我在Controller类中去掉没有任何的效果。发现在Controller层确实也都没有用@Autowired注解。

这时候在Service实现类顶部发现了:@AllArgsConstructor

查了资料这里简单解释一下

全部参数的构造函数的自动生成,该注解的作用域也是只有在实体类上,参数的顺序与属性定义的顺序一致。

发现其他的类也是这么写的没啥问题。是因为我在这个类中加了@Value注解。将配置文件的属性读取出来。

按照上面注解的解释

创造了一个全参的构造器,将@Value修饰的变量作为构造器入参,导致报错

所以将@AllArgsConstructor删除就好了。

在这里插入图片描述

简单记录一下,希望能帮助到大家。如果有不对的地方还望各位大佬指正。在此感谢各位花时间观看。

@AllArgsConstructor lombok注解踩坑记录

这里记录一下使用注意点

  • @AllArgsConstructor 放在类上面,作用等同于一个全量的有参构造;
  • 但如果这个类有继承其他类,其他类中的字段并不会出现在全量有参构造中;
  • 可能是我的版本太低或者其他问题,暂时没找到为什么继承类的参数没有出现在构造中。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot与Angular2的集成示例

    SpringBoot与Angular2的集成示例

    本篇文章主要介绍了SpringBoot与Angular2的集成示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • springboot统一异常处理(返回json)并格式化异常

    springboot统一异常处理(返回json)并格式化异常

    这篇文章主要介绍了springboot统一异常处理(返回json)并格式化异常,对spring boot的默认异常处理方式进行修改,要统一返回数据格式,优雅的数据交互,优雅的开发应用,需要的朋友可以参考下
    2023-07-07
  • java并发编程之cas详解

    java并发编程之cas详解

    这篇文章主要介绍了java并发编程之cas详解,涉及cas使用场景和cas用作原子操作等内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • springboot-mybatis/JPA流式查询的多种实现方式

    springboot-mybatis/JPA流式查询的多种实现方式

    这篇文章主要介绍了springboot-mybatis/JPA流式查询,本文给大家分享三种方式,每种方式结合示例代码给大家讲解的非常详细,需要的朋友可以参考下
    2022-12-12
  • Java基本语法笔记(菜鸟必看篇)

    Java基本语法笔记(菜鸟必看篇)

    下面小编就为大家带来一篇Java基本语法笔记(菜鸟必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Java乱码问题解决方法_动力节点Java学院整理

    Java乱码问题解决方法_动力节点Java学院整理

    开发java应用出现乱码是很常见的,毕竟现在unicode的使用还不是很广泛,下面给大家分享Java乱码问题解决方法,感兴趣的朋友一起看看吧
    2017-07-07
  • Java多线程通讯之wait,notify的区别详解

    Java多线程通讯之wait,notify的区别详解

    这篇文章主要介绍了Java多线程通讯之wait,notify的区别详解,非常不错,具有一定的参考借鉴借鉴价值,需要的朋友可以参考下
    2018-07-07
  • java实现打印日历

    java实现打印日历

    这篇文章主要为大家详细介绍了java打印日历的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • Java常用面板之JScrollPane滚动面板实例详解

    Java常用面板之JScrollPane滚动面板实例详解

    这篇文章主要介绍了Java常用面板JScrollPane的简单介绍和一个相关实例,,需要的朋友可以参考下。
    2017-08-08
  • mybatis开启spring事务代码解析

    mybatis开启spring事务代码解析

    这篇文章主要介绍了mybatis开启spring事务代码解析,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12

最新评论