実行時にプロパティ セットをロードするサービスを作成するための最良の方法は何ですか (bean は "xyz" を渡され、xyz.properties をロードします)。これらのプロパティ ファイルは、コマンドを入力してサービスを開始する前に、クラスパス外のフォルダーにドロップできる必要があります (編集: これは、プログラムの実行中にいつでも発生する可能性があります)。
これを行うためのシステムを 1 年以上使用していますが、Spring に移行して、コードをよりモジュール化し (DI を使用してサービスをより簡単にカスタマイズできます)、保守しやすくしています。環境を作成し、それを「this」で依存関係に渡す現在の方法は、IoC の観点からは逆さまに見えます。
プロパティ ファイルの名前をハードコーディングせずに PropertyPlaceholderConfigurer を使用する方法はありますか? たぶん、依存関係がロードできるサービスのコンストラクターに渡す変数への参照だけでしょうか? これまでのところ、サービスを作成し、構成なしでその依存関係を注入し、それぞれに対して個別のロード メソッドを呼び出してプロパティを渡す必要があるように見えますが、それは本当にSpringを使用していないようです.
ユース ケース: アプリはクライアント接続をさまざまなサーバーにプールし、他のアプリケーションからの要求をこれらのサーバーに転送します。新しいプロファイルは、アプリを停止したり再起動したりせずに、プログラマー以外でも追加できる必要があります。プロファイルには、ホスト、ポート、ログイン情報などの基本的な情報だけでなく、tcp/http、ssl/https (使用するクライアントの種類を決定する) を使用するかどうか、およびタイムアウトとプールの最小/最大/などのより複雑な情報も含まれます。など(デフォルト値が必要です)。