2016-05-12 18 views
0

私が現在取り組んでいるプロジェクトでは、yamlからspring-bootアプリケーションにネストされた値をロードしようとしています。何も働いていないようです。私はmongodb.hostとmongodb.portにアクセスしたい春のブート設定でyamlからネストされたプロパティを読む

spring: 
    application: 
    name: database-service 
    data: 
    mongodb.host: <hostname> 
    mongodb.port: 27017 
    mongodb.uri: mongodb://<hostname>/<db> 

聞くが、私のようデータベース-server.yamlがどのように見えるかです。

@SpringBootApplication 
@ComponentScan("abc.def.testrun") 
public class DatabaseOperationServiceWebApp 
{ 
    public static void main(String... args) 
    { 
     System.setProperty("spring.config.name", "database-server"); 
     SpringApplication.run(DatabaseOperationServiceWebApp.class, args); 
    } 
} 

聞くが、私は値を取得しようとしている方法です:私はここに何か間違ったことをやっていると思いますが、何の考えを持っていないと、私は別の読書ので何、春ブーツの

エントリポイントは次のようになります別のチュートリアルのものだから、正確にここで何が行われる必要があるのか​​知っています。

@Configuration 
    @Component 
    @EnableConfigurationProperties 
    public class TestRunDatabaseOperationConfig extends AbstractMongoConfiguration 
    { 

     @Override 
     protected String getDatabaseName() 
     { 
      return "db"; 
     } 

     @Value("${mongodb.host}") 
     private String host; 
     @Value("${mongodb.port}") 
     private String port; 
     //more code 
    } 

ここで間違っていることを教えてください。

おかげ

+1

名前が 'spring.data.mongodb.host'ない' MongoDBのです.host'。なぜあなたはSpring Bootにあなたのための設定をさせませんか?それはmongo(なぜプロパティが存在するのか)の自動設定をサポートしています。 –

+0

@ M.Deinumあなたは答えとしてあなたのコメントを追加してください私はそれを受け入れるでしょう、私はmongodbを設定するための自動設定を使用しています –

答えて

1

は、この設定を試してみて、春ブーツが残りを設定してみましょう:Example

application.yml

spring: 
    data: 
     mongodb: 
      host: <hostname> 
      port: 27017 
      database: <dbname> 
      username: <usernamr> 
      password: ****** 
関連する問題