`

自己写的一个beanutil,超简单,超实用

阅读更多

自己写的一个beanutil,支持动态调用,主要运用了反射,代码如下

public class BeanUtil {
	 
	public static<Bean>  void set(Bean bean,String fieldName,Object value)throws Exception{
		Class<Bean> c=(Class<Bean>)bean.getClass();
		Field field=c.getDeclaredField(fieldName);
		field.setAccessible(true);
		field.set(bean, value);
	}
	public static<Bean>  Object get(Bean bean,String fieldName)throws Exception{
		Class<Bean> c=(Class<Bean>) bean.getClass();
		Field field=c.getDeclaredField(fieldName);
		field.setAccessible(true);
		return field.get(bean);
	}
	public static<Bean>  Object invoke(Bean bean,String methodName,Object[]params)throws Exception{
		Class c=bean.getClass();
		Class parameterTypes[]=new Class[params.length];
		for(int i=0;i<params.length;i++){
			parameterTypes[i]=params[i].getClass();
		}
		Method method=c.getMethod(methodName, parameterTypes); 
		return method.invoke(bean, params);
	}
	 
}

  

0
1
分享到:
评论
2 楼 zk1878 2011-02-25  
ycaicainiao 写道
beanutils 应该操作properties,而不是fields

呵呵,properties跟fields不是同一个概念么,严格区分的话就是类的字段和类的方法,
以上的beanutil可以实现对类字段的设置读取操作,也可以实现对类方法的动态调用,我
觉得已经比较丰满了,还可以进一步完善,添加colone操作等
1 楼 ycaicainiao 2011-02-24  
beanutils 应该操作properties,而不是fields

相关推荐

Global site tag (gtag.js) - Google Analytics