—————————— ASP.Net+Android+IOS开发、.Net培训、期待与您交流!——————————

1,了解JavaBean。2,BeanUtils工具包。

1,了解JavaBean。

内省主要用于对JavaBean进行操作

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

  如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO)。这些信息在类中用私有字段来存储,如果读取或设置这些字段的值,则需要通过一些相应的方法来访问,JavaBean的属性是根据其中的setter和getter方法来确定的,而不是根据其中的成员变量。如果方法名为setId,中文意思即为设置id。如果方法名为getId,中文意思即为获取id。去掉set前缀,剩余部分就是属性名,如果剩余部分的第二个字母是小写的,则把剩余部分的首字母改成小的。
    setId()的属性名id
    isLast()的属性名last
    setCPU的属性名是什么?CPU
    getUPS的属性名是什么?UPS

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

  一个符合JavaBean特点的类可以当作普通类一样进行使用,但把它当JavaBean用肯定需要带来一些额外的好处,我们才会去了解和应用JavaBean!
  好处:
    在Java EE开发中,经常要使用到JavaBean。很多环境就要求按JavaBean方式进行操作!
    JDK中提供了对JavaBean进行操作的一些API,这套API就称为内省。
  内省访问JavaBean属性的两种方式:
  一:通过PropertyDescriptor类操作Bean的属性。
  二:通过Introspector类获得Bean对象的BeanInfo,然后通过BeanInfo来获取属性的描述器(PropertyDescriptor),通过这个属性描述器就可以获取某个属性对应的getter/setter方法,然后通过反射机制来调用这些方法。
 

 2,BeanUtils 。

BeanUtilsPropertyUtils的相同点:
    ①、两个对象的同名方法的作用都是相同的。
    ②、使用时都要引入commons—beanutils.jar包
    ③、copy与被copy的两个对象的属性数量、名字可以不相同,但是set方法后的名字(字符串)要相同。
BeanUtisPropertiesUtils的不同点:
     ①、当两个类中的同名(get后的名字)属性的类型不相同时,BeanUtils会自动转换,转换不过来则保留目标类中属性的原来值,如果原来没有值,则给一个对应类型的初始化值,而PropertyUtils对象则不会转换的。
     ②、PropertyUtils速度更快一些,而BeanUtils得速度比较慢

 

—————————— ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ——————————

 详细请查看:http://edu.csdn.net 

黑马程序员_java基础笔记(12)...内省(IntroSpector)的更多相关文章

  1. 黑马程序员_java基础笔记(09)...HTML基本知识、CSS、JavaScript、DOM

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 基本标签(a.p.img.li.table.div.span).表单标签.ifra ...

  2. 黑马程序员_java基础笔记(14)...交通灯管理系统_编码思路及代码

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 1,面试题——交通灯管理系统 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: ...

  3. 黑马程序员_java基础笔记(10)...JDK1.5的新特性

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— 1:静态导入.2:for—each循环.3:自动装箱/拆箱.4:可变参数.5:枚举 ...

  4. 黑马程序员_java基础笔记(08)...GUI,网络编程,正则表达式

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— GUI(Graphical User Interface)(图形用户接口):用图形 ...

  5. 黑马程序员_java基础笔记(07)...IO流

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— IO(InputStream,outputStream)字节流 (Reader,Wr ...

  6. 黑马程序员_java基础笔记(06)...集合

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流! —————————— JavaApi(其实就是java给我们提供的已经定义好的对象.工具对象:集合框架) ...

  7. 黑马程序员_java基础笔记(03)...面向对象

    ——————————  ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— 1:面向对象的概念,2 : 类和对象的关系,3 : 封装,4 : 构造函数,5 : ...

  8. 黑马程序员_java基础笔记(01)...java的环境搭建

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!——————————  JavaSE(Java Standard Edtion java标准版)技术概况 ...

  9. 黑马程序员_java基础笔记(15)...银行业务调度系统_编码思路及代码

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— 1,面试题目:银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内 ...

随机推荐

  1. 6.redis的分布式锁

    https://www.cnblogs.com/linjiqin/p/8003838.html

  2. OI,再见

    SDOI2016 因为自己的沙茶犯了低级的沙茶错误而滚粗. day2原可以AK,却因为眼残脑残只拿到90. 由此可见,细节永远不是一个小问题. 想想过去的日子,还真是舍不得. 但过去的终将过去,未来的 ...

  3. 2016-2017-2 《Java程序设计》第五周学习总结

    20155223 2006-2007-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章 try.catch语法:若程序发生错误,执行流程就调离错误点,然后比较catch括号 ...

  4. STL-map and multimap

    定义 map<int,int> a; map<int,string> a; map<double,int> a; …… 首先要知道的一些 Map是STL的一个关联容 ...

  5. 59、synchronized同步代码块

    synchronized同步方法的问题 有些情况下,在方法上面加synchronized同步,会有性能问题.请看下面代码,来计算下两个线程执行的耗时: package com.sutaoyu.Thre ...

  6. ORB_SLAM2 源码阅读 ORB_SLAM2::Initializer

    ORB_SLAM2::Initializer 用于单目情况下的初始化. Initializer 的构造函数中传入第一张影像,这张影像被称作 reference frame(rFrame).在获得第二张 ...

  7. 2015.07.15——prime素数

    prime素数 1.素数也叫质数,定义是一个数只能被1和它自身整除. 素数从2开始,0,1都不是素数. 2.素数的判断(C++) 3.给定某个数,求小于这个数的所有素数 2.素数的判断(C++) bo ...

  8. oracle同义词是什么意思?

    相当于alias,比如把user1.table1 在user2中建一个同义词table1create synonym table1 for user1.table1;这样当我们在user2中查sele ...

  9. 浅析Postgres中的并发控制(Concurrency Control)与事务特性(上)

    转载:https://www.cnblogs.com/flying-tiger/p/9567213.html#4121483#undefined PostgreSQL为开发者提供了一组丰富的工具来管理 ...

  10. Linux内核跟踪之syscall tracer 【转】

    转自:http://blog.chinaunix.net/uid-20543183-id-1930847.html ------------------------------------------ ...