黑马程序员-java内省学习笔记

  ------- android培训java培训、期待与您交流! ----------

一、JavaBean概念

JavaBean是一种特殊的java类,主要用于传递数据信息,这种java类中的方法主要用于  访问私有的字段,而且方法名符合某种命名规则

二、JavaBean类产生需求

如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(Value Object 简称VO)。这些信息在类中用私有字段来存储,如果读取或者设置这些字段的值,则需要通过一些相应的方法来确定,大家觉得这些方法的名称叫什么好呢?JavaBean的属性是根据其中的settergetter方法来确定的,而不是根据其中的成员变量。如果方法名字为setid,中文意思即设置id,至于你把它存到哪个变量上,不用管,如果方法名字为getid 中文意思即获取id至于你从哪个变量上面取也不用管

三、javaBean中属性明明规则

去掉方法名字前面的set或者get剩余部分就是属性名字,如果剩余部分的第二个字母是小写的,则把剩余的部分的首字母改成小写的。

Ø Setid() 属性名 id

Ø isLast()属性名  last

Ø setCPU属性名  CPU

Ø getUPS的属性名 UPS

总之一个类被当做javaBean使用时,javaBean的属性是根据方法名字推断出来的它根本看不到java类内部的成员变量

四、一个符合JavaBean特点的类可以当做普通类一样进行使用,但是它当JavaBean用肯定能够带来一些额外的好处

1)     在Java  EE 开发中 经常要使用到JavaBean 很多环境就要要求按照JavaBean的方式惊醒操作,别人都这么用和这么做,所以我们没有选择的余地

2) JDK中提供了对JavaBean进行操作的一些API,这套API就成为内城,如果要自己去通过getX的方法访问私有的x,有一定的难度 用内生这套api操作javaBean 比用普通类方式更方便。

五、JavaBean内省操作主要是对一些工具的使用  下面举一些简单的例子

图中第十七行:通过调用 getFoo 和 setFoo 存取方法,为符合标准 Java 约定的属性 构造一个 PropertyDescriptor

图中第十八行:通过PropertyDescriptor 得到绑定的属性在这个类上面的get方法

图中第十九航:通过调用get方法 取得属性的值

     (2) 采用遍历BeanInfo所有属性的方式来查找和设置某个PefectPoint对象X属性

在程序中把一个类当做JavaBean看,就是调用IntroSpector.getBeanInfo方法,得到的BeanInfo对象封装了把这个类当做JavaBean看的结果信息(可以设想一下配置文件里面的信息形式)

      (3)两个工具类的简单实用 BeanUtilPropertyUtils

图中四十四是一行显示:BeanUtils可以对对象的属性进行级联操作

图中四十与四十三行比较显示:propertyUtil以属性本身的类型进程操作BeanUtils是以字符串进行操作的

     (4JavaBeanMap集合可以相互转换

BeanUtil中有个方法为:Static java.util.Map describe(java.lang.Object bean)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值