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;

}

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

相关推荐
f***R83 小时前
HeidiSQL导入与导出数据
java
q***71016 小时前
Spring Boot(快速上手)
java·spring boot·后端
n***84076 小时前
十七:Spring Boot依赖 (2)-- spring-boot-starter-web 依赖详解
前端·spring boot·后端
better_liang8 小时前
每日Java面试场景题知识点之-分布式事务处理
java·微服务·面试·springcloud·分布式事务
爱学习的小可爱卢9 小时前
JavaEE进阶——SpringMVC响应处理详解
spring boot·postman·javaee
7***684310 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
L***d67010 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
凌波粒10 小时前
Springboot基础教程(3)--自动装配原理/静态资源处理/欢迎页
java·spring boot·后端
java_logo10 小时前
MySQL Server Docker 容器化部署指南
linux·运维·数据库·docker·容器