SpringBootyml⽂件语法SpringBoot提供了⼤量的默认配置,如果要修改默认配置,需要在配置⽂件中修改。
SpringBoot默认会加载resource下的配置⽂件:
application*.yml
application*.yaml
application*.properties
这也是配置⽂件的加载顺序,如果某个key有多个配置,则后加载的会覆盖之前加载的配置。yml、yaml是同⼀种⽂件,后缀写成yml、yaml都可以。
⼀般使⽤l。
springboot在不同的环境下有默认的加载⽂件:
application  开发、测试、⽣产都会加载,公共的
application-dev  只在开发环境加载(调试src/main)properties是什么文件>getscreen
application-test  只在测试环境加载(调试src/test)
application-prod  只在⽣产环境加载(正式打包部署)
yml⽂件语法
(1)普通字段:
name: zhangsan
值不加引号
(2)对象、Map
对象、Map的配置⽅式是⼀样的。
student: #对象名、Map名
id: 1  #配置⼀个属性、⼀个键值对
name: chy
age: 20
score: 100
值可以是对象:
server:
port: 8080
servlet:
context-path: /springboot
servlet的值就是⼀个对象。不配置端⼝,默认为8080;不配置context-path,默认为/
(3)数组、List
city: [beijing,shanghai,guangzhou,shenzhen]
student: [{name: zhangsan,age: 20},{name: lisi,age: 20}]  #元素可以是对象
值,不管是key的值,还是数组元素,都不加引号。
key、value冒号分隔,冒号后⾯都要加⼀个空格,加了空格后key会变成橙⾊,才有效。
使⽤yml中的值
如果是springboot预定义的key,springboot会⾃动使⽤它。如果是⾃定义的key,就需要我们⾃⼰来引⽤。有2种引⽤⽅式。
(1)使⽤@Value
name: chy
@RestController
public class UserController {
@Value("${name}") //使⽤@Value注⼊配置⽂件中的值。${}要加引号
private String name;
xml手机编辑器有哪些@RequestMapping("/user")
public String handler(){
return name; //使⽤
}
}
不能直接${ }、"${ }"来使⽤配置⽂件中的值。
需要借助成员变量,使⽤@Value注⼊配置⽂件中的值,通过成员变量来引⽤。
不管成员变量是什么数据类型,${ }都需要加引号,会⾃动转换为需要的类型,注⼊。
对象、Map,通过.来注⼊单个字段, @Value("${student.name}")
数组、List,通过下标来注⼊单个元素,@Value("${city[0]}")
只能注⼊基本类型,不能直接直接注⼊整个对象、Map、数组、List。
(2)使⽤@ConfigurationProperties注⼊对象、Map
使⽤@Value依次注⼊对象、Map的字段时,student.id,student.name,student.age,都有相同的前缀student,也可以这样来注⼊:@RestController
@ConfigurationProperties(prefix = "student") //设置前缀
public class UserController {
private int id;
private String name;
private int age;
private int score;
primary翻译
public void setId(int id) {everyone
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setScore(int score) {
this.score = score;
}
@RequestMapping("/user")
public String handler(){
return name; //使⽤
}
}
设置前缀、设置对应的成员变量、并提供对应的setter⽅法,会⾃动注⼊该字段的值。
运⾏,效果正常,但IDEA提⽰:
其实没啥影响,当然也可以在l中添加:
mysql下载完成后
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
这样写完@ConfigurationProperties后,在yml中配置该前缀(对象)时,会有字段提⽰,⽐如打⼀个student.,会有预选项id、name、age、score。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。