2016-09-13 2 views
0

私はSpring newbieです。Springで@Valueアノテーションを使用するための前提条件/条件は何ですか?Spring @Value annotation

今私が持っているのは、フィールドとして秘密鍵をハードコードしたトークンクラスです。私がやろうとしているのは、この秘密鍵をハードコードをなくすために設定ファイルに移動することですが、何らかの理由で以下が動作しません。

public class Token { 
//...some code 

    @Value("${my.secretKey}") 
    private String key; 

//...some code 
} 

多分、このタイプのタスクを解決するための標準的なテクニックがあります。
ありがとうございました!

p.s.私はmy.secretKey=123エントリを含む.propertiesファイルを持っています。

+0

関連する可能性があります:http://stackoverflow.com/questions/33344895/spring-configuration-file-with-propertyplaceholderconfigurer-bean-doesnt-resol/33370122#33370122 – superbob

+0

@Reimeus、あなたはどんな情報であるかを明確にしてください提供する必要がありますか?率直に言って、それはほぼいくつかのクラスを持つ新しいプロジェクトです。 –

+0

にはプロパティファイルがあり、** applicationcontext **でそれらを定義し、使用しているものを使用します。 – BeardAspirant

答えて

3

依存性と値の注入は、 Springによって管理されます。たとえば、new Token()を実行するなどしてnewを使用して手動でオブジェクトを作成した場合、Springはそのオブジェクトを処理して依存性と値を注入できません。

Tokenオブジェクトは、これを動作させるにはSpring Beanでなければなりません。

2

@Valueは、より多くの情報

について ${}

を解釈する方法を知っているように、あなたの春バージョンが3.0+

でなければならないあなたは、XMLまたは注釈のいずれかで静的PropertySourcesPlaceholderConfigurer Beanを登録する必要があります@Valueアノテーションを使用するには

https://www.mkyong.com/spring3/spring-value-default-value/

関連する問題