2017-05-08 7 views
2

Gitで個人用のリポジトリを作成し、プロパティファイルを保管しています。 クラウド設定サーバー( 'my-config-server')を作成し、gitリポジトリURLを使用しました。 Gitリポジトリで外部プロパティファイルにアクセスするはずのSpring起動アプリケーションをバインドしました。外部ファイルとスプリングブートアプリケーションを使用したクラウド設定サーバー

問題:ファイルの外部プロパティを使用する前に、私の内部プロパティファイルはに位置していた:/メイン/リソースsrcと私は

@PropertySource("classpath:myproperties.properties) 

を使用して自分のアプリケーションでそれをアクセスしていた。しかし、クラウドの設定サーバ、何のすべてを使用した後私のspring-bootアプリケーションがgitリポジトリからプロパティを取得する必要があることを理解させるために変更する必要がありますか?

私はmanifest.yml で

services 
    - my-config-server 

を追加している私が行う必要がある他に何@EnableConfigServerと@RefreshScopeに

を追加しましたか?続いてリポジトリに、あなたはapplication.propertiesmyproperties.propertiesの名前を変更する必要があり

spring: 
    cloud: 
    config: 
     server: 
     git: 
      uri: https://github.com/spring-cloud-samples/config-repo 

@PropertySource("classpath:myproperties.properties) 

答えて

1

あなたのgitリポジトリのURLを与えるbootstrap.ymlファイルによってファイルmyproperties.propertiesを置き換える必要が何をすべきか 。あなたのプロパティにアクセスするには、次のような@Valueアノテーションを使用:

@Value("${my.color}") 
private String myColor; 

詳細はSpring Cloud Config referenceをお読みください。

+0

ありがとうございました。 ごくわずかな質問: 1.プロパティにアクセスするには、 'import org.springframework.core.env.Environment;'を使用してください。 @Autowired公共環境env; env.getProperty( "foo.bar");私は動的にプロパティを渡してその価値を得る必要があるからです。あなたのロジックはenv.getProperty( "")で動作しますか? bootstrap.ymlで – Tiya

+0

2、の値: 春:クラウド:設定:サーバー:gitの:URI:SSH://[email protected]:7999 /ユーザー/ gaia.git \t \t仕事?これは.gitリポジトリuriです。 3. mypropertiesをapplication.propertiesに置き換えた場合、外部プロパティファイルの名前は何になりますか? application.propertiesまたはmyproperties? – Tiya

+0

1.はい2.はい3. 'bootstrap.yml'はクラスパス上のファイルを置き換え、' application.properties'はgitリポジトリに保存されます。 –

関連する問題