2017-09-20 62 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