lombak在反射的时候BUG

今天在写代码的时候需要对一个实体反射获取到属性值,实体是用了lombok的@Data注解

 

然后反射方法:

 public static Object invokeGetMethod(Object obj, String property) {
        Class clazz = obj.getClass();
        try {
            if (obj instanceof Map) {
                return ((Map) obj).get(property);
            }
            PropertyDescriptor pd = new PropertyDescriptor(property, clazz);
            Method getMethod = pd.getReadMethod();
            return getMethod.invoke(obj);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

发现无法获取到属性值,会报错说setArticleId方法不存在。

 

因为lombok是在编译的时候注解,运行时没有,反射拿不到

你可能感兴趣的:(Java)