デフォルトのプロパティ ファイルとオプションのオーバーライド ファイルの 2 つの場所を持つプロパティ プレースホルダーを定義するメインの app-context.xml があります。
<context:property-placeholder
location="classpath:config.properties,${configOverride}"
ignore-resource-not-found="true" />
オプションの上書き場所を使用すると、上書きする必要があるプロパティのみを含む別のプロパティ ファイル (例: "-DconfigOverride=file:/home/app/config.properties") を指定できます。
私の単体テストでは、app-context.xml をインポートするテスト コンテキストを使用しています。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:test-context.xml"})
public class UserServiceTest {
...
}
アプリケーション コンテキストが読み込まれる前に、アプリケーション内でシステム プロパティまたは環境変数を設定するにはどうすればよいですか? 可能であれば、コマンド ライン引数を指定することなく、すべてのテスト クラスで「-DconfigOverride=classpath:testConfig.properties」を設定するのと同じ効果を得たいと考えています。