Spring Boot 的文件配置

SpringBoot的配置文件,有三种格式

1.properties
2.yaml
3.yml(yaml的简写)

这里主要介绍1和3格式的。

在项目中,同时存在properties和yml配置文件, properties的优先级更高

同时存在时,两个文件都生效

如果两个文件中,都包含同一个配置,以properties为主。

properties的配置

key value的形式,以=分割
key 的格式建议是小写,单词之间使用.分割

我们可以在 properties文件中设置配置,然后在其他类中进行读取

复制代码
demo.key = hello


@RestController//为什么必需使用这个注解
public class Controller {

    @Value("${demo.key}")//读配置文件
    private String  key;

    @RequestMapping("/readKey")
    public String readKey(){
        return "读到的配置"+key;
    }
}

切记@value配置中的文件名必需于配置中的相同,如果去掉$,就会把""中的值赋值给当前变量

就会变成这样

yml配置

想要将properties中的配置变成yml的遵守下面规则即可

把.换成冒号+换行key后面用冒号赋值

(Value前面)冒号后面一定要加空格

复制代码
demo.key: hello


@RestController
public class YmlController {


    @Value("${demo.key}")
    private String key;


    @RequestMapping("/readYml")
    public String readYml(){
        return "读取的配置Yml" + key;
    }

}

初始化直接读入配置文件的内容,在tomcat启动之前就进行执行

复制代码
 @PostConstruct
    public void init(){
        System.out.println("key"+key);
        System.out.println("key2"+key2);
    }

文件配置内容中的类型以自己实际为准,不会随便进行转化除了数字10这样类似的,因为无论是哪种类型其都可以,不像dsasda这串字符一样,其只能为字符串类型,不然会报错

yml特殊内容配置

null:使用~

空字符串: key后面直接空着就行了

推荐用单引号或者双引号括起来

这里的转义与以前学的是相反的意思

单引号会对特殊字符进行转义双引号不会进行转义

\n本身表示的是换行

使用单引号时,内容表示成了\n,而不是换行,所以认为是转义使用双引号时, \n表示成了换行,也就是\n的本来含义

下述代码可以从配置文件读取全部数据,pre里面必需与配置文件中的前缀名相同

复制代码
@Component
@ConfigurationProperties(prefix = "student")//pre中的意思就是写出yml文件的前缀是什么进行匹配
@Data
public class Student {

    private Integer id;

    private Integer age;

    private String name;

}

配置集合要加-如果不加空格,这部分内容会变成一个整体,统一赋值给对应属性

相关推荐
z***94848 分钟前
springboot和springframework版本依赖关系
java·spring boot·后端
秃秃秃秃哇15 分钟前
C语言实现循环链表demo
linux·c语言·链表
p***950017 分钟前
spring Profile
java·数据库·spring
艺杯羹17 分钟前
从Spring到SpringBoot3的演进:缺陷、优化与最新实践要求
java·spring boot·spring
雾岛听风眠22 分钟前
串口通信代码的一些解释
linux·运维·服务器
一 乐22 分钟前
宠物管理宠物医院管理|基于Java+vue的宠物医院管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·宠物
一 乐23 分钟前
学习辅导系统|数学辅导小程序|基于java+小程序的数学辅导小程序设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·学习·小程序
怀旧,25 分钟前
【Linux系统编程】8. 进程的概念(下)
linux·运维·服务器
励志成为糕手27 分钟前
基于SpringBoot的企业考勤管理系统设计与实现
java·spring boot·后端·web·企业应用
路人甲ing..28 分钟前
Ubuntu怎么安装tar.gz (android-studio为例)
linux·ubuntu·kotlin·android studio