2016-07-05 7 views
0

My Spring Boot(1.3.5)アプリケーションでは、application.propertiesファイルを使用した外部化構成が使用されています。並んで、私は現在のような構成のクラスを持っている:prop最終を作るための方法があるかどうスプリングブート構成の最終設定

@Configuration 
MyConfig { 
    @Value("${prop}") 
    private String prop; 

    // getters 
} 

私は思ったんだけど。理想的には私の設定プロパティに公にアクセスしたいと思います。例えば、myConfig.prop。私はすべてのプロパティを作りたいです公開最後の;しかし、私は、構成クラスは、プロパティがロードされる前に空のコンストラクタを介して最初にインスタンス化されると考えています。別の方法がありますか?

+0

なぜですか?実行時の心配は何ですか? – duffymo

+0

実行時の問題ではありません。むしろ他のdevsによる設定への不用意な変更を避けるためです。 – user1491636

答えて

0

あなたは、コンストラクタであなたの設定値を注入し、finalフィールドに割り当てることができます。

@Configuration 
class MyConfig { 
    private String final prop; 
    public MyConfig(@Value("${prop}") String prop){ 
    this.prop = prop; 
    } 

} 
+0

そうです。たくさんの設定があるとどうなりますか?私は、それをより小さな設定クラスに分割するのがインセンティブだと思いますか? – user1491636

+0

@ user1491636はい、あなたはそれを行うことができ、DBCONFIGとSMTPConfigだから、この変更を行った後、私はスタートアップ例外取得 –

+0

異なる設定クラスに行くことができます: 'が見つかりませんデフォルトコンストラクタ、それは'民間最終文字列の小道具だ ' – user1491636

関連する問題