JavaBeans
外观
![]() | 此條目需要精通或熟悉计算机科学的编者参与及协助编辑。 (2013年7月16日) |
此條目没有列出任何参考或来源。 (2013年7月16日) |
![]() | 此條目翻譯自其他語言維基百科,需要相關領域的編者協助校對翻譯。 |
JavaBeans是Java语言中可以重复使用的软件组件,实质上是一种特殊的Java类[1]。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。
优点
- Bean可以控制它的属性、事件和方法是否暴露给其他程序。
- Bean可以接收来自其他对象的事件,也可以产生事件给其他对象。
- 有软件可用来配置Bean。
- Bean的属性可以被序列化,以供日后重用。
JavaBeans规范
要成为JavaBean类,则必须遵循关于命名、构造器、方法的特定规范。有了这些规范,才能有可以使用、复用、替代和连接JavaBeans的工具。
规范如下:
- 有一个公有的无参构造器。
- 属性可以通过get、set、is(可以替代get,用在布尔型属性上)方法或遵循特定命名规范的其他方法访问。
- 可序列化。
package player;
public class PersonBean implements java.io.Serializable {
/**
* <code>name</code>属性(注意大小写)
*/
private String name = null;
private boolean deceased = false;
/** 无参构造器(没有参数) */
public PersonBean() {
}
/**
* <code>name</code>属性的Getter方法
*/
public String getName() {
return name;
}
/**
* <code>name</code>属性的Setter方法
* @param value
*/
public void setName(final String value) {
name = value;
}
/**
* "deceased"属性的Getter方法
* 布尔型属性的Getter方法的不同形式(这里使用了is而非get)
*/
public boolean isDeceased() {
return deceased;
}
/**
* <code>deceased</code>属性的Setter方法
* @param value
*/
public void setDeceased(final boolean value) {
deceased = value;
}
}
TestPersonBean.java
:
import player.PersonBean;
/**
* <code>TestPersonBean</code>类
*/
public class TestPersonBean {
/**
* <code>PersonBean</code>类的测试方法<code>main</code>
* @param ARGS
*/
public static void main(String[] args) {
PersonBean person = new PersonBean();
person.setName("Bob");
person.setDeceased(false);
// 输出: "Bob [alive]"
System.out.print(person.getName());
System.out.println(person.isDeceased() ? " [deceased]" : " [alive]");
}
}
testPersonBean.jsp
;
<% // 在JSP中使用PersonBean类 %>
<jsp:useBean id="person" class="player.PersonBean" scope="page"/>
<jsp:setProperty name="person" property="*"/>
<html>
<body>
Name: <jsp:getProperty name="person" property="name"/><br/>
Deceased? <jsp:getProperty name="person" property="deceased"/><br/>
<br/>
<form name="beanTest" method="POST" action="testPersonBean.jsp">
Enter a name: <input type="text" name="name" size="50"><br/>
Choose an option:
<select name="deceased">
<option value="false">Alive</option>
<option value="true">Dead</option>
</select>
<input type="submit" value="Test the Bean">
</form>
</body>
</html>
参考文献
- ^ 许斌. JavaBean基本概念. [2014-02-20].