2017-09-20 13 views
0

私はオラクル・レスト・エンドポイントを持っており、そこからエントリを読みます。 これは私application.ymlサービスでapplication.ymlを読む

spring: 
    profiles: 
    active: dev 
oracleUrl: https://cloud-url/filter_by/login_id/ 

OraclePropertiesある

@Configuration 
@ConfigurationProperties 
public class OracleProperties { 

    @Value("${oracleUrl}") 
    String oracleUrl; 

    public String getOracleUrl() { 
     return oracleUrl; 
    } 

    public void setOracleUrl(String oracleUrl) { 
     this.oracleUrl = oracleUrl; 
    } 
} 

Application.java

@EnableConfigurationProperties({OracleProperties.class}) 
@SpringBootApplication 
public class Application { 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 
} 

サービス

@Autowired 
private OracleProperties oracleProperties; 

String oracleUrl = oracleProperties.getOracleUrl(); 

私oracleUrlは、nullにしてくださいです私が間違っているところを教えてください。

+0

。あなたがそうするなら、あなたは依存性注入を得ないでしょう、したがってあなたの値はnullになります。 –

+0

私はAutowiredに変更して質問を更新しましたが、nullポインタ例外が表示されます – WebDev

答えて

1

OracleProperties@Configuration注釈は必要ありません。 @ConfigurationProperties("oracle")は、接頭辞がoracleのすべてのプロパティを取得します。接頭辞はoracleのファミリをグループ化するのに役立ちます。また、url属性の上には@Valueがありません。あなたは春のオブジェクトをロードするために、 `new`演算子を使用することはできませんあなたのapplication.yml

@ConfigurationProperties("oracle") 
public class OracleProperties { 

    private String url; 

    public String getUrl() { 
     return oracleUrl; 
    } 

    public void setUrl(String url) { 
     this.url = url; 
    } 
} 

変更、

oracle: 
    url: https://cloud-url/filter_by/login_id/ 
+0

アプリケーションを起動するときにnullポインタ例外が発生します。 – WebDev

+0

ありがとう、私の間違いは、oracleProperties.getOracleUrl();を移動しました。 method.itsの中で今働いています。 – WebDev

関連する問題