7-1-JavaBean基础

目录

一、什么是JavaBean?

二、访问JavaBean的属性

三、BeanUtils工具

 案例:演示使用setProperty()、getProperty()和populate()方法访问JavaBean的属性

总结



一、什么是JavaBean?

JavaBean也可以理解成实体类,其对象可以用于在程序中封装数据。 为了规范JavaBean的开发,Sun公司发布了JavaBean的规范,它要求一个标准的JavaBean组件需要遵循一定的编码规范,具体如下:

1、 成员变量使用 private 修饰。

2、必须具有一个公共的、无参的构造方法,这个方法可以是编译器自动产生的默认构造方法。

3、为每一个成员变量提供公共的setter方法和getter方法,让外部程序设置和获取JavaBean的属性。

示例:

public class Book {
	private double price;
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
}

二、访问JavaBean的属性

在讲解面向对象时,经常会使用类的属性,类的属性指的是类的成员变量。在JavaBean中同样也有属性,但是它和成员变量不是一个概念,它是以方法定义的形式出现的,这些方法必须遵循一定的命名规范,例如,在JavaBean中包含一个String类型的属性name,那么在JavaBean中必须至少包含getName()和setName()方法中的一个,这两个方法的声明如下所示:

public String getName(){...}
public void setName(String name){...}
getName()方法:称为getter方法或者属性访问器,该方法以小写的get 前缀开始,后跟属性名,属性名的第一个字母要大写,例如,nickName属性的getter方法为getNickName()。 

setName()方法:称为setter方法或者属性修改器,该方法必须以小写的set 前缀开始,后跟属性名,属性名的第一个字母要大写,例如,nickName属性的setter方法为setNickName()。

如果一个属性只有getter方法,则该属性为只读属性,如果一个属性只有setter方法,则该属性为只写属性,如果一个属性既有getter方法,又有setter方法,则该属性为读写属性。通常来说,在开发JavaBean时,其属性都定义为读写属性。

需要注意的是,对于JavaBean属性的命名方式有一个例外情况,如果属性的类型为boolean,它的命名方式应该使用is/set而不是get/set。例如有一个boolean类型的属性married,该属性所对应的方法声明如下所示:

public boolean isMarried(){...}
public void setMarried(boolean married){...}从上面的代码可以看出,married属性的setter方法命名方式没有变化,而getter方法变成了isMarried()方法 ,当然,如果一定要写成getMarried()也是可以的,只不过isMarried()更符合命名规范。

示例:

public class Student {
	private String sid;
	private String name;
	private int age;
	private boolean married;
	// age属性的getter和setter方法
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	// married属性的getter和setter方法
	public boolean isMarried() {
		return married;
	}
	public void setMarried(boolean married) {
		this.married = married;
	}
	// sid属性的getter方法
	public String getSid() {
		return sid;
	}
	// name属性的setter方法
	public void setName(String name) {
		this.name = name;
	}
	public void getInfo() {
		System.out.print("我是一个学生");
	}
}

三、BeanUtils工具

大多数Java程序开发人员过去习惯于创建JavaBean,然后通过调用JavaBean属性对应的getter和setter方法来访问属性。但是,由于各种Java工具和框架层出不穷,并不能保证属性对应的getter和setter方法总能被调用,因此动态访问Java对象的属性是十分必要的,为此,Apache软件基金会提供了一套简单、易用的API——BeanUtils工具。

BeanUtils工具包的官网首页地址为“http://commons.apache.org/proper/commons-beanutils”,登录到官网首页后,单击左边菜单栏【BEANUTILS】【Download】选项,即可跳转到BeanUtils的下载页面,如下图所示。

解压下载后的文件便可获得BeanUtils开发所需的JAR包。需要注意的是,BeanUtils工具包还需要一个logging包来配合使用,logging包中包装了各种日志API的实现,感兴趣的读者可以进入官网(http://commons.apache.org/proper/commons-logging)下载。

BeanUtils工具中封装了许多类,其中最核心的是org.apache.commons.beanutils包下的BeanUtils类,接下来,针对BeanUtils类的常用方法进行简单的介绍,具体如表所示。

 案例:演示使用setProperty()、getProperty()和populate()方法访问JavaBean的属性


总结

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值