2

さまざまなアプリケーション (2 層および 3 層) で使用されるモジュールを作成しています。DBに接続する必要があります。そのため、2 層アプリケーションで使用する場合、パラメーターとして java.sql.Connection オブジェクトを必要とするモジュールを作成しました。そこは問題ありません。

私が直面している問題は、3層アプリケーションの場合、モジュールがプレゼンテーション層から使用されるため、モジュールにDBアクセス用の接続オブジェクトを与えたくないということです。

この問題を解決するために何を使用することをお勧めしますか?

4

2 に答える 2

1

In Spring you define an application context which is in most cases just an XML file, and that contains a number of appliction object called beans.

<bean id="myDbConnection" scope="prototype" class="...">
   ...
</bean>

<bean id="myPersistanceManager" class="my.application.PersistanceManager">
   <property name="connection" ref="myDbConnection" />
</bean>

myDbConnection is a bean defined in the same application context and that contains all connection details.

Then in your presentation layer you just use applicationContext.getBean("myPersistance") and you get an instance of your persistance manager initialised with all dependecies. And you can have different application contexts for different deployment options.

于 2009-09-08T20:01:08.037 に答える
0

Connection を永続化オブジェクトに渡そうとする本能は良いものであり、プレゼンテーション層にそれを取得させる責任を負わせたくないのと同様です。

MVC パターンについて読んで、Spring を調べることをお勧めします。Spring のイディオムは、アプリケーションを階層化する適切な方法を示します。依存関係の問題にも役立ちます。

アップデート:

Spring についてもっと読む必要があります。

Spring の一般的な web->service->persistence インターフェイス レイヤリングのイディオムを使用すると、アプリケーションを適切にレイヤ化するのに役立ちます。

Spring には、依存関係の管理に役立つ依存性注入があります。

Spring のフレームワーク クラスは、データベース接続などの取得と管理に役立ちます。

私は、他の誰かがすでによりよく書いたものをあなたが書き直すことはほとんど意味がないと主張しています. まず、Spring MVC のステップ バイ ステップを参照して、同意するかどうかを確認することをお勧めします。

Spring を学びたくない場合は、少なくとも DataSource および JDBC 接続用に作成されたクラスを確認することをお勧めします。彼らのやり方を見て、自分のやり方を改善できるかもしれません。

于 2009-09-08T09:18:25.883 に答える