2017-01-27 8 views
0

私のアプリケーションでは...春ブーツ - @valueアノテーションを使用することはできません

を私はプロファイルに基づいてapplication.propertiesからいくつかの値をロードするために@Valueを使用しようとしているが、動作しないものがあります.propertiesファイルは、私が

[email protected]@ 

私は私のpom.xmlで

<resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 

を持っています。コンパイルするとき、私は私のapplication.propertiesがjdbc.url

の正しい値を持っていることを、私はDBに

@Value("${jdbc.url}") 
    private String dbUrl; 

     @PostConstruct 
     public Connection getConnection(){ 

       Class.forName("com.mysql.jdbc.Driver"); 
       return DriverManager.getConnection(dbUrl, "user", "xxxxxxx"); 
      } 

を接続するときは、このプロパティを使用したいがするDBURLがnull参照... ドゥ私は別のものが必要ですか?

+0

また、私はあなたが(最初の変数を置き換えるためにMavenを使用して)やっていることだと思います.....(小さなヒント 'spring.datasource.url'!=' jdbc.url')もう一度あなたのコードを読んれます間違っています... –

+0

ありがとう..何のエラー...しかし、プロパティを設定するためにプロファイルを持つMavenを使用するのはなぜ間違っていますか? – besmart

+0

なぜあなたは手動で 'Connection'を手動で構築していますか?このようなことを自動的に行うことは、Bootを使うことの全ポイントです。 – chrylis

答えて

1

あなたはこのように値をロードする必要があります。たぶん、あなたはプラグイン内で、区切り文字を指定する必要があります

@Value("${spring.datasource.url}") 
private String dbUrl; 
0

<configuration> 
    <delimiters> 
     <delimiter>@</delimiter> 
    </delimiters> 
    <useDefaultDelimiters>false</useDefaultDelimiters> 
</configuration> 
関連する問題