JavaBeans kullanıldığı yerler?
Bir JavaBean nedir ve neden ihtiyacım var? Sınıf ve arayüz yapısı ile tüm uygulamalar oluşturabilirsiniz beri? Neden fasulye ihtiyacım var mı? Ve sen bana fasulye sınıfları ve ARAYÜZLERİ yerine gerekli olduğu bazı örnekler verebilir misin?
Bu bağlamda aşağıda: fasulye hayati öneme açıklayınız
- Wep apps
- Bağımsız uygulamalar
CEVAP
Genellikle sadece gerçek dünya verileri temsil eder. İşte bir Javabean basit bir örnek:
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
uygulama veya ağ üzerinden Java hafızası dışında, örneğin harddisk veya Javabeans devam aktarabilme isterseniz başına zorunlu değil, ama çok yararlıdır.
Örneğin kullanıcıların bir listesini oluşturmak için kullanabileceğiniz bir DAO sınıfı ondamağazaveritabanında user
tablo:
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;
Örneğin Sunucu uygulaması bir sınıf için kullanabilirsiniztransferUI için veritabanından veri:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
List<User> users = userDAO.list();
request.setAttribute("users", users);
request.getRequestDispatcher("users.jsp").forward(request, response);
}
Örneğin JSP bir sayfa açabilirsinizerişimJavabean kuralları takip eden EL, ile, verileri görüntülemek için:
<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>
Mantıklı mı? Sen, bir tür bakınKongreher yerde kullanabilirsinizmağaza,transferveerişimveri.
DTO, VO, POJO, JavaBeans arasındaki fa...
Önleme ilk şansını özel durum güvenli ...
Sosyal Güvenlik Numarası/örnekler test...
Kesecek (yuvarlak değil) SQL Server ye...
Hareketli bir ondalık çift yerler üzer...