异常信息
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)
注解即可