博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中的内省 (Introspector)
阅读量:5984 次
发布时间:2019-06-20

本文共 1361 字,大约阅读时间需要 4 分钟。

hot3.png

2、JavaBean:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

(1)一种特殊类,传递数据信息,成员方法用于访问自身私有字段,方法名符合某种命名规则;

(2)俩模块传递信息,使用JavaBean(值对象(Value Object),或“VO”);

(3)信息存储在私有变量中,通过set()、get()获得;

3、什么是内省(Introspector):》》》》》》》》》》》》》》》》》》》》》》》》》》

(1)JDK提供一套 API 用来访问某个属性的 getter/setter 方法;

(2)java语言对JavaBean类的属性、事件的一种缺省处理方法;

4、PropertyDescriptor类表示JavaBean类通过存储器导出一个属性。主要方法:》》》》》》》

      1. getPropertyType(),获得属性的Class对象;

      2. getReadMethod(),获得用于读取属性值的方法;

           3.getWriteMethod(),获得用于写入属性值的方法;

      3. hashCode(),获取对象的哈希值;
      4. setReadMethod(Method readMethod),设置用于读取属性值的方法;
      5. setWriteMethod(Method writeMethod),设置用于写入属性值的方法。

5、Introspector类:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

(1)封装JavaBean属性进行操作;

(2)调用BeanInfo beanInfo=Introspector.getBeanInfo(),将一个类当成是JavaBean;

(3)PropertyDescriptor[] proDescrtptors=beanInfo.getPropertyDescriptors();

6、BeanUtils:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

(1)内省操作非常繁琐,所以Apache开发了一套简单、易用的API操作Bean属性:BeanUtils工具包;

(2)org.apache.commons.beanutils.BeanUtils;

(3)BeanUtils.setProperty(userInfo,"age",8);

7、BeanUtils特点:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

(1)对基本类型自动转换;

(2)引用类型类中必须有对象,不能是null;

8、struts就用了内省机制,有set方法就有属性,不需要成员变量;》》》》》》》》》》》》》

9、java中的反射(reflection):》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

(1)运行时获取一个类的所有信息,包括.class的任何定义的信息(成员 变量,成员方法,构造器等);

(2)可以操纵类的字段、方法、构造器等部分;

(3)内省基于反射实现,主要用于操作JavaBean,获取bean的getter/setter;

转载于:https://my.oschina.net/u/3847203/blog/1808712

你可能感兴趣的文章
判断页面是否是伪静态
查看>>
linux硬盘的分区、格式化、挂载以及LVM
查看>>
gacutil.exe的位置
查看>>
Synplify Pro与QuartusII的那些事儿
查看>>
CSS文件动态加载(续)—— 残酷的真相
查看>>
原生dom节点操作方法mark
查看>>
计算机词汇(融合了搜狗所有的计算机词库)_搜狗输入法词库
查看>>
泡沫经济 随想
查看>>
C#调用ExchangeWebService发送邮件、查询日程、查询用户已使用邮箱空间
查看>>
初识MySql数据库
查看>>
SCC实验-vmware workstion下实现Exchange 2007的Single Copy Cluster.Cluster环境为windows server 2008R2...
查看>>
LABjs分析 http://labjs.com/documentation.php#queuescript
查看>>
软考计算机网络原理之IP计算问题汇总
查看>>
【JS】DOM
查看>>
【ASP.NET 基础】图片上传和显示
查看>>
8086CPU寄存器
查看>>
join命令
查看>>
Map.Entry使用详解
查看>>
使用PowerDesigner生成数据库测试数据
查看>>
MyEclipse+Struts+Hibernate+Mysql开发环境配置
查看>>