一、spring boot的配置文件简单介绍
1.首先搭建一个Spring boot工程
2.搭建好之后,如图所示
spring boot的配置文件支持两种格式,写法也不相同,首先先看application.properties文件,如图:
再看application.yml文件的写法,如图所示:
这两个文件表达的内容是一致的,只是写法上不同,注意yml文件的写法要求。如果两个文件都有,spring boot默认是取application.properties文件,(测试:可以将连个配置文件的值改成不同,看看类加载的时候取的是哪个文件的值)
拓展:随机数的取值,配置文件中取随机数,仅当该类属性赋值的时候随机产生,之后不会再改变。
${random.int(10,20)}之间的随机数
${random.int(10)} 随机10以内的
${random.value} 随机字符串
${random.int} 随机int
${random.long} 随机long
3.取配置文件中自定义参数的值:
创建java类-test.java,代码如下
package com.example.demo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class Test {
@Value("${my.name}")
private String name;
@Value("${my.age}")
private int age;
@Value("${my.salary}")
private double salary;
@RequestMapping("/test")
public String test() {
return "name:"+name+"--age:"+age+"--salary:"+salary;
}
}
利用注解,在类属性名上加入@value,即可获取到配置文件中配置的值
第二种取值方法,直接给类加注解的写法,代码如下:
@RestController
@ConfigurationProperties(prefix="my")
public class Test {
private String name;
private int age;
private double salary;
@RequestMapping("/test")
public String test() {
return "name:"+name+"--age:"+age+"--salary:"+salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
}
注意:这种写法必须有set方法,否则是取不到值的
4.启动项目,访问http://loaclhost:8088/test,可获得如下效果: