2

spring 4 で最初のステップを実行するために、この記事に従って @Conditional アノテーションを試しました。

私の問題 - クラス OnSystemPropertyCondition のメソッド一致からクラスパス リソース (基本的にはプロパティ ファイル) にアクセスしたいと考えています。

これを行うために、現在、match メソッドが呼び出されるたびに必要なプロパティ ファイルをロードしています (これは、ConditionalOnSystemProperty アノテーションが付けられたすべてのクラスを意味します)。これは少し醜いです。洗練された解決策は、リソースまたは一部のプロパティを ( @Value アノテーションを使用して) 単純に自動配線することだと思いましたが、このクラスは Bean の前にインスタンス化されるため、これは実行できません。

このリソースを何度もリロードするのを避けるのに役立つ提案はありますか?

4

1 に答える 1

0

注釈の単一のメソッドは、その署名で入力 param を取得しますConditionContext context。を呼び出して、コンテキストから環境を取得できますcontext.getEnvironment()。この環境は、すべてのリソースへのアクセスを提供します (Spring環境を介してリソースにアクセスする方法については、これを参照してください)。

于 2015-06-05T20:14:06.910 に答える