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