私は j2ee が初めてで、Java Bean について知りたいと思っています。Java クラスが 1 つあり、そのクラスのインスタンスを別のクラスで使用しています。最初のクラスを Java Bean として定義し、そのインスタンスを別のクラスに注入する必要がある理由は何ですか? その利点は何ですか?Java Bean として定義するのに適したクラスは何ですか? たとえば、ORMapping で使用する pojo、UI を作成するクラス (私は vaadin を使用して UI を作成する)、ビジネス ロジックを実行する別のクラス (たとえば、結果固有の数式を計算する)、および別のクラスを作成することができます。 DB操作を行います。ejbまたはspringを使用して、Java Beanとして定義する候補はどれですか?
質問する
4536 次
3 に答える
3
JavaBeans の指定は、クラスのパブリック プロパティにアクセサ メソッドを提供する規則のみに関連しています。POJO は直交概念であり、Java Bean は簡単に POJO にもなる可能性があります。
Spring IoC コンテナーのコンテキストで Bean を検討しているようです。Spring は「Bean」という用語を非常に大まかな意味で使用しており、実際のオブジェクトは JavaBeans 仕様に準拠していない場合さえあります。最も一般的には、setter のみを提供します (getter は提供しません)。
現在、IoC コンテナーが相互に依存するオブジェクトを結び付ける利点は数多くあり、この方法は強く推奨されています。いくつかのポイント:
- Bean のインスタンス化に関する懸念は集中化されています。
- Bean 間の結合が少ない: クライアント Bean は、そのコラボレーターを初期化する方法を知る必要はありません。
- 循環依存関係の大きな問題を簡単に処理できます。
- インスタンス化を含む定型コードがコードに散らばっていません。
- シングルトンの簡単な再利用 => メモリを節約し、オブジェクト システムに秩序と一貫性をもたらします。
- Bean ライフサイクルの宣言的な制御。ここでも Bean 自体にボイラープレート コードはありません。
于 2013-06-02T10:59:48.897 に答える
1
javadoc から:
JavaBeans ™ により、ソフトウェア コンポーネントの再利用が容易になります。開発者は、内部の仕組みを理解する必要なく、他の人が作成したソフトウェア コンポーネントを使用できます。
ソフトウェア コンポーネントが役立つ理由を理解するには、自動車を組み立てる作業員を考えてみてください。たとえば、ラジオを一から作るのではなく、単にラジオを入手して、それを車の残りの部分に接続します。
于 2013-06-02T10:33:29.317 に答える