Thrift生成的bean对象,用java内省操作时注意(自己笔记)
项目需要,需要使用内省操作,将数据写入thrift生成的bean里,于是按常理getWritedMethod.invoke
结果发现set方法找不到,结果看了下thrift自己生成的bean里,set的返回值是bean对象本身,不是传统的 public void setXX(Object obj),所以在做内省操作时找不到set方法,如图:
解决办法:用反射,因为thrift生成的bean字段都是public的,所以直接调用反射字段然后赋值即可,