質問

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

  • だお
  • ドメイン
  • 主要
  • サービス
  • ユーティリティ

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

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

役に立ちましたか?

解決

アイテムはパッケージだと思うので、 主要 パッケージ。

  • だお
  • ドメイン
  • 主要 アプリケーションとその構成リーダーが含まれています
    • 構成
    • ログ
  • サービス
  • ユーティリティ

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

おっしゃるとおり、utils は静的ツールまたは類似のツールに関するものです。アプリケーションの構成は非常に重要であるため、私はそれをユーティリティとは宣言しません。ユーティリティとは、同じタイプの別のユーティリティ (例: StringUtilStringUtilsIOUtils 等それらはすべて非常に似た機能を持っています)

他のヒント

これは、あなたがi.g.を使用するビルドシステムとアプリケーションの種類によって異なりますMavenはconfigfilesでのsrc /メインを配置することをお勧め/リソース

WARファイルでは、WEB-INFまたはWEB-INF / configの

でそれらを置くことができます

、プロジェクト構造によれば、私はほとんど誰もがそれを期待するので、フォルダの設定やリソースを導入することをお勧めします。

あなたは春で作業している場合は、<のhref =「http://static.springsource.org/spring/docs/2.5.x/reference/beans.html#beans-factory-placeholderconfigurer」のrelを見てみましょう= "nofollowをnoreferrer">の設定プレースホルダを。あなたの構成プロパティのための単純なJavaプロパティファイルを使用して、クラスパス(または他の場所)の上に配置することができます。アルスーあなたが設定値に保つの異なる形式を使用して独自の実装を作成することができます(XML、データベースなど。)

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

プロパティベースの構成データの場合、 PropertyPlaceholderConfigurer 良い解決策です。

私は春を見てすることができ促します。最初の場所であなたのためにやり過ぎのように思えるかもしれませんが、あなたはそれを愛するウィル。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top