2017-09-20 68 views
0

我有一個oracle休息終點,我從那裏讀取條目。 這是我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爲空,請讓我知道我要去哪裏錯了。

+0

不能使用'new'操作加載彈簧對象。如果你這樣做,那麼你不會得到依賴注入,因此你的值將爲空。 –

+0

我更改爲Autowired並更新了問題,但我看到空指針異常 – WebDev

回答

1

您不需要@Configuration註釋OracleProperties@ConfigurationProperties("oracle")將選取前綴爲oracle的任何屬性。幫助用oracle前綴對一組屬性進行分組。另請注意,在url屬性的頂部沒有@Value

@ConfigurationProperties("oracle") 
public class OracleProperties { 

    private String url; 

    public String getUrl() { 
     return oracleUrl; 
    } 

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

更改您的application.yml

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

啓動應用程序時,我仍然收到空指針異常。 – WebDev

+0

謝謝,我的錯誤,移動了oracleProperties.getOracleUrl();在method.its裏面工作。 – WebDev