java反射例子

//①通过类装载器获取EvalComprehensiveBo类对象

ClassLoader loader = Thread.currentThread().getContextClassLoader();

Class clazz =null;

try {

clazz = loader.loadClass("com.lovcreate.atom.biz.api.bo.evaluate.EvalComprehensiveBo");

}catch (ClassNotFoundException e) {

logger.info("ClassNotFoundException", e.getMessage());

}

//②获取类的默认构造器对象并通过它实例化EvalComprehensiveBo

Constructor cons =null;

try {

cons = clazz.getDeclaredConstructor((Class[])null);

}catch (NoSuchMethodException e) {

logger.info("NoSuchMethodException", e.getMessage());

}

EvalComprehensiveBo evalComprehensiveBo =null;

try {

evalComprehensiveBo = (EvalComprehensiveBo) cons.newInstance();

}catch (Exception e) {

logger.info("evalComprehensiveBoException", e.getMessage());

}

Integer count =evalComprehensiveMapper.queryCount(deptName, years, type);

//③通过反射方法设置属性

Method setProperty =null;

try {

setProperty = clazz.getMethod(property, Integer.class);

}catch (NoSuchMethodException e) {

logger.info("NoSuchMethodException", e.getMessage());

}

try {

setProperty.invoke(evalComprehensiveBo, count);

}catch (Exception e) {

logger.info("setPropertyException", e.getMessage());

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。