bug:IntrospectionException-Method not found异常与lombok


异常信息

java.beans.IntrospectionException: Method not found: setName
	at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:111)
	at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java:71)

场景

  • 使用 new PropertyDescriptor(propertyName, clazz); 反射获取属性描述对象
  • 实体类使用了 lombok
    <dependency>
    	<groupId>org.projectlombok</groupId>
    	<artifactId>lombok</artifactId>
    	<version>1.16.18</version>
    </dependency>
    

原因

  • 原因在于实体类使用了 @Accessors(chain = true) 注解
  • 该注解使得对象的 setter 方法返回对象本身,以便链式使用
  • new PropertyDescriptor(propertyName, clazz); 要求 setter 返回值为 void
  • 解决:去掉 @Accessors(chain = true) 注解即可


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM