一:配置文件值注入
- 配置文件編寫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);
}
}