web-dev-qa-db-ja.com

JEE MVC、コントローラーはインターフェース実装の代わりにインターフェースを呼び出します

私はこのチュートリアルに従っています: http://wiki4.caucho.com/Building_a_simple_listing_in_JSP これは、ResinをWebコンテナーとして使用してMVCパターンを使用してEclipseで基本的なWebアプリケーションを作成します。これが私が理解できない部分です。

モデルについては、POJO、インターフェース、インターフェース実装を作成します。データは本を表しています。コントローラーに到達すると、単純なサーブレットが作成されます。インターフェイスの実装ではなく、インターフェイスを呼び出します。インターフェイスは実装クラスをどのように実行するのですか?また、2つのimplクラスがあった場合、インターフェイスはどのメソッドを呼び出すかをどのようにして知るでしょうか

2
Johnny_v

コントローラには、インターフェイスタイプの任意のオブジェクトへの参照を持つことができる変数があります。あなたが話すインターフェース実装クラスはインターフェースを実装するので、それはそのインターフェースの一種です。

これは、変数がそのクラスのオブジェクトへの参照を持つことができることを意味します。

このチュートリアルでは、依存性注入フレームワークと呼ばれるCDIを利用します。これにより、他のBeanで使用するために、自動的にインスタンス化され、プロパティ(インターフェイス型の変数などの変数)に割り当てられるBeanをアプリケーションで構成できます。これは、インターフェイス実装クラスのオブジェクトを作成し、それをコントローラーに追加することです。

1
maple_shaft