वे अक्सर वास्तविक विश्व डेटा का प्रतिनिधित्व करते हैं। यहाँ एक जावबीन का सरल उदाहरण दिया गया है:
public class User implements java.io.Serializable {
// Properties.
private Long id;
private String name;
private Date birthdate;
// Getters.
public Long getId() { return id; }
public String getName() { return name; }
public Date getBirthdate() { return birthdate; }
// Setters.
public void setId(Long id) { this.id = id; }
public void setName(String name) { this.name = name; }
public void setBirthdate(Date birthdate) { this.birthdate = birthdate; }
// Important java.lang.Object overrides.
public boolean equals(Object other) {
return (other instanceof User) && (id != null) ? id.equals(((User) other).id) : (other == this);
}
public int hashCode() {
return (id != null) ? (getClass().hashCode() + id.hashCode()) : super.hashCode();
}
public String toString() {
return String.format("User[id=%d,name=%s,birthdate=%d]", id, name, birthdate);
}
}
क्रियान्वयन Serializable
करना अनिवार्य नहीं है, लेकिन बहुत उपयोगी है अगर आप जावा की मेमोरी के बाहर जावबीन को जारी रखने या स्थानांतरित करने में सक्षम होना चाहते हैं, जैसे हार्डडिस्क या नेटवर्क में।
उदाहरण के लिए एक DAO वर्ग आप इसका उपयोग उन उपयोगकर्ताओं की सूची बनाने के लिए कर सकते हैं जिनमें आप डेटाबेस में तालिका का डेटा संग्रहीत करते हैं user
:
List<User> users = new ArrayList<User>();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getLong("id"));
user.setName(resultSet.getString("name"));
user.setBirthdate(resultSet.getDate("birthdate"));
users.add(user);
}
return users;
उदाहरण के लिए एक सर्वलेट वर्ग जिसका उपयोग आप डेटाबेस से यूआई में डेटा स्थानांतरित करने के लिए कर सकते हैं :
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
List<User> users = userDAO.list();
request.setAttribute("users", users);
request.getRequestDispatcher("users.jsp").forward(request, response);
}
उदाहरण के लिए, एक JSP पेज जिसे आप EL द्वारा एक्सेस कर सकते हैं , जो डेटा प्रदर्शित करने के लिए Javabean सम्मेलनों का अनुसरण करता है:
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Birthdate</th>
</tr>
<c:forEach items="${users}" var="user">
<tr>
<td>${user.id}</td>
<td><c:out value="${user.name}" /></td>
<td><fmt:formatDate value="${user.birthdate}" pattern="yyyy-MM-dd" /></td>
</tr>
</c:forEach>
</table>
क्या इस का कोई मतलब निकलता है? आप देखते हैं, यह एक तरह का सम्मेलन है जिसका उपयोग आप हर जगह डेटा को स्टोर , ट्रांसफर और एक्सेस करने के लिए कर सकते हैं ।
यह सभी देखें: