栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

什么是JavaBean、访问JavaBean的属性、BeanUtils类的常用方法

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

什么是JavaBean、访问JavaBean的属性、BeanUtils类的常用方法

什么是JavaBean

JavaBean是Java开发语言中一个可以重复使用的软件组件,它本质上就是一个Java类。为了规范JavaBean的开发,Sun公司发布了JavaBean的规范,它要求一个标准的JavaBean组件需要遵循一定的编码规范,具体如下。
(1)它必须具有一个公共的、无参的构造方法,这个方法可以是编译器自动产生的默认构造方法。

(2)它提供公共的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){...}

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

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

例如,有一个 boolean 类型的属性married,该属性所对应的方法声明如下所示。

public boolean isMarried(){...}

public void setMarried(boolean married){...}
 BeanUtils工具

BeanUtils下载地址(commons-beanutils包)
logging包下载地址(commons-logging包)

BeanUtils类的常用方法:
案例分析:

①创建Person.java

public class Person {
	private String name;
	private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}

②创建BeanUtilsDemo.java类

public class BeanUtilDemo {

	public static void main(String[] args) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
		Person p=new Person();
		
		//使用BeanUtils为属性赋值
		BeanUtils.setProperty(p, "name", "老汉");
		BeanUtils.setProperty(p, "age", 50);
		//使用BeanUtils获取属性值
		String name=BeanUtils.getProperty(p, "name");
		String age=BeanUtils.getProperty(p, "age");
		
		System.out.println("我的名字是"+name+",我今年"+age+"岁!");
		
		//创建map集合,用于存放属性及其属性值
		Map map=new HashMap(); 
		map.put("name","张三");
		map.put("age", 50);
		
		//使用populate()方法为对象的属性赋值
		BeanUtils.populate(p, map);
		//打印赋值后的对象信息
		System.out.println("姓名:"+p.getName()+",年龄:"+p.getAge());
	}

}

运行结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/985033.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号