[解決済み] JavaBeansが使われている場所?
2022-04-13 05:18:21
質問
JavaBeanとは何ですか、なぜ必要なのですか?私はクラスとインタフェース構造ですべてのアプリケーションを作成することができますので?なぜBeanが必要なのですか?また、クラスやインターフェースの代わりにBeanが不可欠な例をいくつか教えてください。
ビーンの必要性について、以下の文脈で説明してください。
- Wepアプリ
- スタンドアロンアプリ
解決するには?
実世界のデータを表現しているだけであることが多い。以下は、Javabeanの簡単な例です。
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
は、それ自体必須ではありませんが、Javaのメモリ外、例えばハードディスクやネットワーク上でJavabeansを持続させたり転送したりしたい場合に、非常に便利です。
例えば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;
例えばServletクラスでは、次のように使用することができます。 転送 のデータをデータベースからUIに転送します。
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
List<User> users = userDAO.list();
request.setAttribute("users", users);
request.getRequestDispatcher("users.jsp").forward(request, response);
}
例えば、JSPページでは次のようになります。 アクセス である。 エル を、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>
意味があるのでしょうか?ほら、なんというか 規約 に至るまで、あらゆる場所で使用することができます。 ストア , 転送 と アクセス のデータを使用します。
こちらもご覧ください。
関連
-
Java Exceptionが発生しました エラー解決
-
[解決済み] JVM起動時のパラメータ「-Xms」「-Xmx」とは何ですか?
-
アクセス制限です。タイプ 'Application' は API ではありません。
-
Android Studio 3.1.2 で v4, v7 パッケージが見つからない シンボル 'AppCompatActivity' を解決できない
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み] DTO、VO、POJO、JavaBeansの違い?
-
[解決済み] Java 8のインターフェイスメソッドで "final "が使えないのはなぜですか?
-
[解決済み] Springの@Autowiredの使い方を理解する
-
[解決済み] 同じインタフェースを実装する2つのビーンを自動配線する - 自動配線するデフォルトのビーンを設定する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
ファインバグタイプ
-
javaの模造品QQ WeChatのチャットルーム
-
Intellij IDEAのエラー「CreateProcess error=2, system could not find specified file」に対する完璧な解決策です。
-
Methodのinvokeメソッド実装のJavaリフレクション
-
自動配線された依存性のインジェクションに失敗しました。
-
linux run jarfile Invalid or corrupt jarfile error.
-
[解決済み] JavaBeanとは何ですか?
-
[解決済み] デザインパターン Webベースアプリケーション【終了しました
-
[解決済み】JSF、Servlet、JSPの違いは何ですか?