黑马程序员——JavaBean
来源:互联网 发布:华为大数据在贵州 编辑:程序博客网 时间:2024/06/06 14:04
------- android培训、java培训、期待与您交流! ----------
总是感觉这部分有点云里雾里,现在重新整理笔记。
PropertyDescriptor第一眼并没有记住它,强行记忆!
package cn.heima;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;public class IntrospectorTest {public static void main(String[] args) throws Exception{ReflectPoint rp1 = new ReflectPoint(3,5);String propertyName = "x";//PropertyDescriptor 描述 Java Bean 通过一对存储器方法导出的一个属性。PropertyDescriptor pd = new PropertyDescriptor(propertyName, rp1.getClass());Method getX = pd.getReadMethod();// 获得应该用于读取属性值的方法。Object retVal = getX.invoke(rp1);System.out.println(retVal);Method setX = pd.getWriteMethod();//获得应该用于写入属性值的方法。setX.invoke(rp1, 9);System.out.println(rp1.getX());}}
//采用遍历BeanInfo的所有属性方式来查找和设置某个ReflectPoint对象的//x属性。在程序中把一个类当做JavaBean来看,就是调用Introspector.getBeanInfo()//得到的BeanInfo对象封装了把这个类当做JavaBean看到的结果信息。BeanInfo bi = Introspector.getBeanInfo(rp1.getClass());PropertyDescriptor[] pds =bi.getPropertyDescriptors();for(PropertyDescriptor pd1:pds){if(pd1.getName().equals(propertyName)){System.out.println(pd1.toString());System.out.println(pd1.getPropertyType());Method getX1 = pd1.getReadMethod();System.out.println("--"+getX1.invoke(rp1));break;}}
System.out.println(BeanUtils.getProperty(rp1, "x").getClass().getName());//BeanUtils操作参数需要的是字符串BeanUtils.setProperty(rp1, "x", "110");System.out.println(BeanUtils.getProperty(rp1, "x"));//PropertyUtils操作的参数,是原定义的类型System.out.println(PropertyUtils.getProperty(rp1, "x").getClass().getName());PropertyUtils.setProperty(rp1, "x", 119);System.out.println(PropertyUtils.getProperty(rp1, "x"));/*java.lang.String110java.lang.Integer119*/
//Date有个方法setTime 也是符合JavaBean的规则//birthdat.time支持级联操作BeanUtils.setProperty(rp1, "birthday.time", "120");System.out.println(BeanUtils.getProperty(rp1, "birthday.time"));
- 黑马程序员—javabean
- 黑马程序员—JavaBean
- 黑马程序员——JavaBean
- 黑马程序员——JavaBean
- 黑马程序员——JavaBean&注解
- 黑马程序员——内省JavaBean总结
- 黑马程序员——JavaBean内省
- 黑马程序员——高新技术--JavaBean
- 黑马程序员—Java基础加强(JavaBean)
- 黑马程序员—JAVA高新技术之JavaBean
- 黑马程序员————javaBean 与 内省
- 黑马程序员——JAVA笔记——JavaBean
- 黑马程序员——操纵javabean的两种方式
- 黑马程序员——高新技术(内省、javaBean、BeanUtils工具)
- 黑马程序员——高新技术(javabean 注解 泛型 )
- 黑马程序员——javabean、内省和BeanUtils
- 黑马程序员——【Java】【高新技术】内省 & JavaBean
- 黑马程序员--Java面向对象——JavaBean内省
- ICTCLAS代码学习笔记之CSpan类
- gets() 和 sets()
- unique,unique_if,unique_copy
- Goto 2.12.07.29发布
- ICTCLAS代码学习笔记之CResult类
- 黑马程序员——JavaBean
- 糖筛
- 远程调用Excel、Word、PowerPoint,服务器端设置
- Start learning Android
- reverse,reverse_copy,rotate,rotate_copy
- 学生信息管理系统————布尔值
- APUE读书笔记 6--------- 系统数据文件和信息
- next_permutation,pre_permutation,random_shuffle
- 黑马程序员--C#线程