案例要求 spring boot 及目錄結構如如下:
1:元數據(Metadata),又稱中介數據、中繼數據,為描述數據的數據(data about data), 主要是描述數據屬性(property)的信息,用來支持如指示存儲位置、歷史數據、資源查找、文件記錄等功能。 2:Spring boot 為了簡化 xml配置,做了兩個方面工作。 a)簡化依賴配置:采用spring-boot-starter-xxxxx,其實中starter,只不過是把我們某一模塊,比如web 開發時所需要的所有JAR 包打包好給我們而已。不過它的厲害之處在於,能自動把配置文件搞好,不用我們手動配置。所以說,Spring Boot 是簡化配置。SGLF b)把SSM原來配置****applicationContent.xml的一些xml配置。 采用(appliction.yaml或application.properties)***.yamlt和properties格式配置。這兩種格式確實比xml更簡潔. |
本案例思路:
本案例重要性是為學習spring boot 配置做准備。兩個實體類。a)Person實體類人,包括姓名、年齡、地址屬性的類型為字面量。同時也包含數組、對象類型。其中擁有狗就是自定義類型 Dog實體類的類型。
操作步驟:
- 新建實體類dog類:
/** * Dog實體類,為Person實體類擁有Dog類型做准備 */ public class Dog { String dogName; Integer dogAge; public String getDogName() { return dogName; } public void setDogName(String dogName) { this.dogName = dogName; } public Integer getDogAge() { return dogAge; } public void setDogAge(Integer dogAge) { this.dogAge = dogAge; } @Override public String toString() { return "Dog{" + "dogName='" + dogName + '\'' + ", dogAge=" + dogAge + '}'; } }
- 新建實體類Person,並擁有Dog實體類
package com.ibaiqi.springboot2.domain; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; /** * @ConfigurationProperties(prefix = "person") 此注解作用是將配置文件的值映射到類上使用。 * 即person來源application.yaml或application.propertiesk配置文件中的值。 * 把以此為為前輟的后邊所有屬性映身到此類 */ @Component @ConfigurationProperties(prefix = "person") public class Person { String userName; int age; String add; Dog dog; List<String> allAnimal; Map<String,Object> childs; public Dog getDog() { return dog; } public void setDog(Dog dog) { this.dog = dog; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAdd() { return add; } public void setAdd(String add) { this.add = add; } public List<String> getAllAnimal() { return allAnimal; } public void setAllAnimal(List<String> allAnimal) { this.allAnimal = allAnimal; } public Map<String, Object> getChilds() { return childs; } public void setChilds(Map<String, Object> childs) { this.childs = childs; } @Override public String toString() { return "Person{" + "userName='" + userName + '\'' + ", age=" + age + ", add='" + add + '\'' + ", dog=" + dog + ", allAnimal=" + allAnimal + ", childs=" + childs + '}'; } }
- 新建yaml數據格式,存儲在application.yaml中
person: userName: 張三 age: 18 add: 江蘇南京 dog: dogName: 旺旺狗 dogAge: 5 allAnimal: [鳥,雞,牛] childs: - childsName: 張大毛 sex: 男 age: 18 - childsName: 張二毛 sex: 女 age: 16