码迷,mamicode.com
首页 > 编程语言 > 详细

Java内省技术

时间:2014-07-18 11:01:11      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:内省   java反射技术   

-------<a href="http://www.itheima.com/"">android培训</a>、<a href="http://www.itheima.com/" ">java培训</a>期待与您交流!----------

JavaBean

Java中有一种特殊的类,它用于程序中两个模块的信息交换。它的特点是将成员变量私有化。用gettersetter方法获取设置其成员变量的值。

一个简单的JavaBean类。

public class dog{
private String name=“旺财”;

private int age=2;

public void setName(String name){
this.name=name
      }

 

Public void setAge(int age){
this.age=age;
      }

 

Public String getName()
return name;
}

Public String getAge()
return age
}

当我们用反射技术去获取或设置JavaBean类的字段时,一般方式如下面代码:

 bubuko.com,布布扣

 bubuko.com,布布扣

 

 

很显然这做很繁琐麻烦。要知道在开发中会有很多的JavaBean类。如果都用这种原始的方式,oh my god.所以sun公司提供了一套对于JavaBean类反射的API来简化我们的操作。使用这套API来操作JavaBean类,就叫做內省。

以下代码来演示根据sun公司提供的API內省步骤。

方法一:

 bubuko.com,布布扣

 

方法二:

 bubuko.com,布布扣

 

由于程序猿觉得sun公司提供的API进行內省操作还是觉得麻烦(不要怪程序猿们太懒,懒也是推动世界进步的一种动力嘛)一个开源组织就又开发了一套API,来更简便的进行內省操作,以下代码演示用这种API进行的内省操作。

用这种方式内省必须要导入两个第三方jar包:BeanUtilslogging

具体代码如下

 bubuko.com,布布扣

 

有没有震撼于它的简洁啊。SunAPI跟他比简直弱爆了。而且它不但简洁还帮我们省去了类型转换的工作。

BeanUtils.getProperty(d, "name");返回的是字符串。

BeanUtils.setProperty(d, "name""小嘿嘿");设置的值不管是什么类型都可以是用字符串形式进行传入。因为在javaWeb开发时,我们都是从网页上获取字符串,将字符串写到网页上,上诉方式取出至于设置值都用字符串形式,免去了我们转换类型的烦恼。

-------<a href="http://www.itheima.com/"">android培训</a>、<a href="http://www.itheima.com/" ">java培训</a>期待与您交流!----------

Java内省技术,布布扣,bubuko.com

Java内省技术

标签:内省   java反射技术   

原文地址:http://blog.csdn.net/javamu/article/details/37919675

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!