4

次のような構造のアプリケーションがあります。

  • ダオ
  • ドメイン
  • 主要
  • サービス
  • ユーティリティ

XML ファイルからアプリケーション構成を読み取るクラスを作成しました。問題は、どこに配置するかです。

反射的に、私はそれをユーティリティに配置しましたが、ユーティリティ クラスには静的メソッドがあり、ステートレスですが、このクラスは Apache Commons XMLConfiguration のインスタンスを使用します。このインスタンスがこのクラスのメソッドのスコープに限定されるようにメソッドを調整する必要がありますか?

4

5 に答える 5

3

アイテムはパッケージだと思いますので、メインのパッケージを使用します。

  • ダオ
  • ドメイン
  • main には、アプリケーションとその構成リーダーが含まれています
    • 構成
    • ログ
  • サービス
  • ユーティリティ

なんで?アプリケーションの構成は、XML であるかどうか、Spring などのアプリケーション フレームワークに基づいているかどうかに関係なく、主要な機能の一部です。アプリケーションの起動は、アプリケーションの主な役割です。すべてのビジネス機能、それが提供するすべての優れた機能は、ドメインとサービス層に実装されています。

そうです、utils はすべて静的ツールまたは類似のツールに関するものです。アプリケーションの構成は非常に重要であるため、私はそれをユーティリティとは宣言しません。ユーティリティは、同じタイプの別のユーティリティに簡単に置き換えることができるものです (たとえば、 StringUtilvs . StringUtilsvs.IOUtilsなど。それらはすべて非常に類似した機能を持っています)。

于 2010-05-16T11:39:52.157 に答える
2

これは、使用するビルド システムとアプリケーション タイプによって異なります

WAR ファイルでは、それらを WEB-INF または WEB-INF/config に配置できます。

あなたのプロジェクト構造によると、ほとんどの人がそこにあることを期待しているので、フォルダー構成またはリソースを導入することをお勧めします。

于 2010-05-16T10:31:49.060 に答える
2

Spring を使用している場合は、Configuration Placeholdersをご覧ください。構成プロパティに単純な Java プロパティ ファイルを使用し、それをクラス パス (またはその他の場所) に配置できます。また、独自の実装を作成して、構成値を保持する別の形式 (XML、データベースなど) を使用することもできます。

于 2010-05-16T10:42:11.230 に答える
2

構成は分野横断的な側面であるため、これらのレイヤーの 1 つだけにマップされるわけではありません。構成ファイル (XML またはプロパティー) をクラスパスに配置し、それを Spring 経由で使用して Bean を構成します。

プロパティ ベースの構成データの場合、PropertyPlaceholderConfigurerは優れたソリューションです。

于 2010-05-16T10:42:12.577 に答える
1

ぜひSpringをご覧ください。そもそもやり過ぎに思えるかもしれませんが、きっと気に入っていただけるはずです。

于 2010-05-16T08:04:35.927 に答える