try {
List<Class> list=new ArrayList<Class>();
File entryFile=new File("c:\\entity");
File[] eFiles=entryFile.listFiles();
for(File ef:eFiles){
String alName=ef.getName();
String name=alName.split("\\.")[0];
Class<?> c=Class.forName("com.zdy.cms.entity."+name);
list.add(c);
}
for(Class clazz:list){
System.err.println("--------------------------------开始执行"+clazz.getName()+"------------------------------------------");
Object obj=clazz.newInstance();
Field[] fields = clazz.getDeclaredFields();//根据Class对象获得属性 私有的也可以获得
for(Field f : fields) {
String proName=f.getName(); //获取属性名称
Method[] methods=clazz.getDeclaredMethods();
for(Method m:methods){
String mName=m.getName().toLowerCase(); //获取小写的方法的名称
if(mName.equals("set"+proName.toLowerCase())){ //如果方法名称和属性的名称
if(f.getType().getName().contains("String")){ //f.getType().getName() 获取类型的名称
System.out.println(" ---------执行方法:"+m.getName());
if(proName.toLowerCase().contains("id")){
m.invoke(obj, "1011"); //执行方法,并传入给那个对象设置和设置参数
}else if(proName.toLowerCase().contains("name")){
m.invoke(obj, "haopeng");
}else if(proName.toLowerCase().contains("ip")){
m.invoke(obj, "192.168.2.10");
}else{
m.invoke(obj, "haode");
}
}else if(f.getType().getName().contains("Date") ){
System.out.println(" ---------执行方法:"+m.getName()+"----->"+f.getType().getName());
m.invoke(obj, new Date());
}else if(f.getType().getName().contains("Integer")){
System.out.println(" ---------执行方法:"+m.getName());
m.invoke(obj, 4);
}
}
}
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
转载于:https://my.oschina.net/haopeng/blog/141019