yaml配置文件值獲取

一:配置文件值注入

  • 配置文件編寫application.yml
person:
  lastName: dhx
  age: 25
  boss: dhx
  birth: 1994/02/10
  maps: {k1: v1,k2: w2}
  lists: [a1,22]
  dog:
    name: dog
    age: 4
  • javaBean
/*
    將配置文件的每一個屬性值映射到這個組件中
    @ConfigurationProperties:告訴springBoot將本類中所有屬性和配置文件中的相關配置進行綁定
    prefix = "person" :配置文件中那個下面的屬性進行一一映射
    只有這個組件是容器中的組件,才能使用容器提供的ConfigurationProperties功能
 */
@ConfigurationProperties(prefix = "person")
@Component
public class person {
    private  String lastName;

    private  Integer age;

    private String boss;

    private Date birth;

    private Map<String,Object> maps;

    private List<String> lists;

    private  Dog dog;

//省略get/set方法。toString方法
}
  • 我們可以導入配置文件處理器,以後編寫配置就有提示了
<!-- 導入配置文件處理器,配置文件進行綁定就會有提示-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

二:properties配置文件編碼問題

  • application.properties編寫
#idea的properties配置文件默認編碼utf-8
#配置person的值
person.last-name=代紅星
person.age=25
person.birth=2020/03/56
person.boss=false
person.dog.name=dog
person.dog.age=4
person.lists=a,b,c
person.maps.k1=1
person.maps.k2=12
  • #dea的properties配置文件默認編碼utf-8,如果想顯示中文,需要更改idea的屬性,找到Settings裏面的file encodings然後修改編碼爲utf-8

 

三測試

/*
    SpringBoot單元測試
    可以在測試期間很方便的類似編碼一樣進行自動注入容器等功能
 */

@SpringBootTest
class Demo1ApplicationTests {

    @Autowired
    private Person person;
    @Test
    void contextLoads() {
        System.out.println(person);
    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章