2

Spring を追加したい GWT アプリケーションがあり、主に Spring と JdbcTemplate を使用してデータベース接続と DAO モデルを処理します。私は GWT の使用経験はかなりありますが、Spring を学び始めたばかりです。

GWTアプリケーションで春をどこでどのように初期化するのか、私にはわかりませんか? 私が想定する場所でアプリケーションコンテキストを初期化する必要があります。フロントエンドで onModuleLoad() から呼び出された RPC メソッドでこれを行うことは可能ですか?しかし、そうすると、後でオブジェクトを引き続き使用できますか?

基本的に、Spring コンポーネントの開発と実験を開始できるように、バックエンドで Spring を初期化する方法と場所の基本的な概要を探しています。

ありがとう!

4

1 に答える 1

1

数年前、私は大まかに次の手順でSpring-GWT統合を行いました。

  1. Web.xmlでSpringContextLoaderListenerを構成して、SpringのルートWebApplicationContextを起動します。
  2. ServletContextからSpringApplicationContextを取得するためのメソッドを持つ基本RemoteServiceServletクラスを作成します。これは、次のようなものを使用して実行できます。WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);

  3. すべてのRPCサーブレットがこの基本クラスを拡張するようにします。

  4. サービスメソッドは、SpringのApplicationContextを簡単に取得できるようになりました。この方法で、Springコンテキストでサービスとデータ層のBeanを構成し、RPCサーブレットで使用できるようにすることができます。

このアプローチの唯一の問題は、RPCサーブレットがそれらではないことでした。Springによって作成されたものではないため、依存関係を挿入することはできません。

これで、spring-gwt統合にサードパーティのフレームワークを使用できます。たとえば、GWTプラットフォームのディスパッチモジュールを使用すると、アクションハンドラーをSpringBeanとして構成できます。このようなソリューションは、基本的に、フレームワークによって提供される単一のRPCサーブレットを使用します。このフレームワークRPCサーブレットは、サーバー側ハンドラーをインスタンス化し、それらを呼び出す役割を果たします。これらの追加のフレームワークを進んで学ぶ場合は、上記で概説したものよりも長期的なソリューションの方が優れている可能性があります。

于 2011-08-18T20:27:51.377 に答える