2017-08-08 10 views
0

@configurationでアノテーションされた2つのクラス/ Beanがあり、プロパティファイルの値に基づいて をインスタンス化する必要があります。プロパティファイルからプロパティ値に基づいて@configuration beanをインスタンス化する方法

RemoteServer1.java

@Configuration
パブリッククラスRemoteServer1



{
//いくつかの認証ロジックは、ここで
を行く} RemoteServer2.java


@構成
パブリッククラスRemoteServer2 {
//いくつかの認証ロジックがここに
行く}私は今


application.properties
remote.server.location = RemoteServer1

をプロパティファイルからvalueにマッチした@Configurationクラス/ Beanをインスタンス化したい

答えて

0

私は条件付きで豆をアクティブにするために、あなたが春ブーツで@Contidional...注釈を調べることをお勧めし、構成など

http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/condition/ConditionalOnProperty.html

プロパティと設定を見て、このはず作品。プロパティが欠落している場合trueに評価されず、第一の構成について、

@ConditionalOnProperty(name="remote.server.location", havingValue="RemoteServer1", matchIfMissing=false)

第二に、

@ConditionalOnProperty(name="remote.server.location", havingValue="RemoteServer2", matchIfMissing=false)

は、プロパティnameを探しhavingValueに一致します。

+0

そのそれを、

@Value("${some.prop}") private String remoteServer 

それは値を引っ張ってくると自動設定します – laxmi

0

プロパティファイルへの参照を作成する場合は、「$ {}」構文を使用します。たとえば、Stringにたくさんフォーサイス@Darrenおかげで作業

関連する問題