1. 程式人生 > 其它 >Spring Boot 學習(一)properties和yml 配置檔案的配置

Spring Boot 學習(一)properties和yml 配置檔案的配置

properties

通過對pojo類進行@Component放入容器中,

之後通過@ConfigurationProperties(prefix = "person") 進行容器字首繫結,字首為person

package spring.main.spring.Bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component; import java.util.List; import java.util.Map; import java.util.Set; @ToString @Data @NoArgsConstructor @AllArgsConstructor @Component @ConfigurationProperties(prefix = "person") //配置檔案進行繫結,以person開頭 public class Person { private String name;
private Integer age; private String[] hobit; private Car car; private List<String> animal; private Map<String,Object> score; private Set<Double> salary; private Map<String,List<Car>> allCar; }

yml

  yml中寫值需要 key: value (鍵+冒號+空格+值)

person:
  name: 張三
  age: 
18 # hobit: [123,456,789] #陣列表示法 hobit: - 123 - 456 - 789 # 採用陣列的寫法或 - value的寫法 animal: - 自行車 - 豆腐乾 - 繞太陽 # score: # English: 90 # Math: 80 score: {English: 90,Math: 80} #物件表示法 salary: - 9999 - 8888 car: brand: YYY price: 123456 # car是person裡的屬性,car本身又是屬於一個類,所以把類屬性寫裡面 allCar: bads: - {brand: RRR,price: 55555} #數組裡面有一個物件 - brand: EEE price: 666666 # 兩種寫法 goods: - {brand: ppp,price: 55555}

顯示:

@Autowired
    Person person;
    @RequestMapping("/person")
    public Person person() {
        return person;
    }
person.name = zs
#通過properties進行配置資訊,當yml和properties同時配置時,預設有效原則顯示properties

補充(一)
在yml中,如果對value進行雙引號引起來,那麼特殊字元會進行轉義,例如換行符 \n會顯示換行符

沒有引號時和單引號時 會保留原本的\n不會進行轉義

補充(二)yml中新增提示資訊
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
</dependency>

再加上,使打包成jar使不會匯入這個提示的功能,減少jvm的載入負重

<configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.springframework.boot</groupId>
                            <artifactId>spring-boot-configurationprocessor</artifactId>
                        </exclude>
                    </excludes>
</configuration>