[基础规范]JavaBeans规范

时间:2023-03-09 02:48:24
[基础规范]JavaBeans规范

本文来自*:http://en.wikipedia.org/wiki/JavaBeans#JavaBean_conventions

JavaBeans是Java语言中能够反复使用的软件组件,它们是一种特殊的Java类,将非常多的对象封装到了一个对象(bean)中。

特点是可序列化,提供无參构造器,提供getter方法和setter方法訪问对象的属性。

长处:

  • Bean能够控制它的属性、事件和方法是否暴露给其它程序。
  • Bean能够接收来自其它对象的事件,也能够产生事件给其它对象。
  • 有软件可用来配置Bean。
  • Bean的属性能够被序列化。以供日后重用。

JavaBeans规范,要成为JavaBean类,则必须遵循关于命名、构造器、方法的特定规范。

有了这些规范,才干有能够使用、复用、替代和连接JavaBeans的工具。

规范例如以下:

  • 有一个公有的无參构造器。
  • 属性能够通过getsetis(能够替代get,用在布尔型属性上)方法或遵循特定命名规范的其它方法訪问。
  • 可序列化。

一个javabean的代码样例

package player;

public class PersonBean implements java.io.Serializable {

    /**
* name 属性(注意大写和小写)
*/
private String name = null; private boolean deceased = false; /** 无參构造器(没有參数) */
public PersonBean() {
} /**
* name 属性的Getter方法
*/
public String getName() {
return name;
} /**
* name 属性的Setter方法
* @param value
*/
public void setName(final String value) {
name = value;
} /**
* deceased 属性的Getter方法
* 布尔型属性的Getter方法的不同形式(这里使用了is而非get)
*/
public boolean isDeceased() {
return deceased;
} /**
* deceased 属性的Setter方法
* @param value
*/
public void setDeceased(final boolean value) {
deceased = value;
}
}

測试样例:

import player.PersonBean;

/**
* <code>TestPersonBean</code>类
*/
public class TestPersonBean {
/**
* PersonBean 类測试方法的main函数
* @param ARGS
*/
public static void main(String[] args) {
PersonBean person = new PersonBean(); person.setName("张三");
person.setDeceased(false); // 输出: "张三[活着]"
System.out.print(person.getName());
System.out.println(person.isDeceased() ? " [已故]" : " [活着]");
}
}

页面引用并使用javabean

<% // 在JSP中使用PersonBean类 %>
<jsp:useBean id="person" class="player.PersonBean" scope="page"/>
<jsp:setProperty name="person" property="*"/> <html>
<body>
姓名:<jsp:getProperty name="person" property="name"/><br/>
已故与否?<jsp:getProperty name="person" property="deceased"/><br/>
<br/>
<form name="beanTest" method="POST" action="testPersonBean.jsp">
输入姓名:<input type="text" name="name" size="50"><br/>
选择选项:
<select name="deceased">
<option value="false">活着</option>
<option value="true">已故</option>
</select>
<input type="submit" value="測试这个JavaBean">
</form>
</body>
</html>