2017-09-08 5 views
0

私はStackOverflowや他のサイトで見つけることができるすべてを読んだことがあります。どこでも決定的な回答はありません。Spring @Conditionを使用しているときに、設定ファイルからプロパティを使用できますか?

@Configurationファイルで使用する@Conditionを実装するクラスがあります。条件付きでいくつかのBeanをロードします。

public class MyCondition implements Condition { 
    @Override 
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metdata) { 
     String property = context.getEnvironment().getProperty("some.prop.from.file"); 
     boolean enable = Boolean.parseBoolean(property); 
     return enable; 
    } 

}

デバッグするとき、私は環境からプロパティを取得することは、常にプロパティは@valueを使用して他のBeanに注入されていても、nullを返すことを参照してください。私はこのような何かをしています。

あなたは@Conditionクラス内のファイルからプロパティ値を取得しようとすることはできますかできませんか?システムのプロパティのみを取得できますか?私はこれがSpringが処理できると思う一般的な使用例だと思います。

+0

私たちは間違いなく財産を得ることができます。この例を参照してください。http://javapapers.com/spring/spring-conditional-annotation/ – ArslanAnjum

+0

この例では、Eclipseで "VM引数"としてプロパティを追加する必要があります。私はプロパティファイルからそれを読むことができるようにしたい。 Conditionクラスが既に実行されるまで、プロパティはSpringアプリケーションにロードされていないようです。 – wxkevin

答えて

0

プロパティをapplication.propertiesに追加する必要があり、起動時に読み込まれるその他のプロパティファイルは追加しないでください。

関連する問題