1. 程式人生 > >使用@ConfigurationProperties和類的方式讀取yml檔案中的值

使用@ConfigurationProperties和類的方式讀取yml檔案中的值

問題:yml檔案的屬性如下

nuoche:
  privateNumber:
    appkey: 7L57717mzPP6cr
    appSecret: iWoVQ5s4kr75D
    domainName: https://www.caocao.com

如何通過@ConfigurationProperties註解讀取這些值,並把值封裝到一個類(PrivateNumber)中?

解決辦法

1.新增一個配置類

@ConfigurationProperties(prefix = MyValue.PREFIX)
@Service("myProperties")
@Data
public class MyProperties {

    public static final String PREFIX = "nuoche";
    private   PrivateNumber privateNumber;


    @Data
    public static  class PrivateNumber{ // 要加static描述符,不然會報異常
        private String appkey;
        private String appSecret;
        private String domainName;
    }


}

2.編寫一個測試類

@SpringBootTest
@RunWith(SpringRunner.class)
public class MyPropertiesTest {

    @Autowired
    private MyProperties myProperties;
    @Test
    public void say() {
        System.out.println(myProperties.getPrivateNumber().getAppkey());

    }
}

3.測試:先啟動整個工程,然後再執行測試方法。最後得到結果為:7L57717mzPP6cr