0

Application-context.xml は Web モジュール内にあります

pom
- ユーザー
-ビジネス ロジックと daos を備えたその他のさまざまなモジュール
- Webはサービス レイヤーにのみ依存します。友達とだけ話してください。

Web には依存関係としてユーザーがあります。私は(すべきではありません)依存関係を逆にすることはできません.循環するので、Webにあるアプリケーションコンテキストを使用してどのようにテストできますか?


1. データソース情報のアプリケーション コンテキストを複製しますか? (コードの匂い)
2. DB アプリケーション コンテキストを、依存関係チェーンの一番下にある休止状態依存プロジェクトに入れますか?
3. 他の答えは?

番号 2 が最善の策のようです。すべてがサービスモジュールにあるときにテストが機能していましたが、よりモジュール化しようとしているため、ユーザー固有のサービスを別のモジュールにリファクタリングしました。

アイデアをありがとう。実際には、モジュール層にサービスを配置するのではなく、サービスと呼ばれる Web とモジュールの間に層を追加することを選択しました。これは一般的ではないと思いますが、より優れた情報隠蔽を提供し、オープン/クローズを強制するのに役立ちます. このシナリオには関係ないので、含めませんでした。

ツール:

  • インテリ 11
  • ジュニット
  • メイヴン 2
  • 休止状態 3
  • 春 3
  • MySql5.5
4

2 に答える 2

0

ユニットとWebの間でサービスモジュールを使用して、そこにdbコンテキストを保存することになりました。Web はそれに依存し、Web レベルのアプリケーション コンテキストには、テストと同様にそのモジュール コンテキストが含まれます。そのレイヤーでサービスレベルの統合テストを行っています。ユニット テストでは、モック オブジェクトまたは hql を使用して、ユニット自体の外部にあるものをすべて排除します。

于 2012-11-18T05:03:03.670 に答える
0

モジュール自体の内部に、ユーザー モジュールの依存性注入を行うコンテキスト ファイルを配置します。春には、多くのコンテキスト ファイルがあり、それらをインポートできることを思い出してください。

この背後にある理由を理解するには、次のことを自問してください。アプリケーションの Web 部分にはデータベースが必要ですか、それともデータベースを必要とするのはバックエンドですか?

于 2012-11-17T23:34:25.413 に答える