SpringBoot配置文件

1.约定大于配置

比如说启动类所在的路径就是扫描路径这样的一个约定的存在,我们就可以不用配置扫描路径

2.配置文件的作用

1.配置比较重要的数据

  1. 数据库的连接信息
  2. 配置程序启动的端口号server.port
  3. 第三方的调用密钥
  4. 用来发现和定位的日志

3.配置文件的格式

springboot有两种配置文件格式,默认的是properties, 新版的是yml,两种可以同时存在,如果两个配置文件有冲突,我们还是以properties的为准,但是我们通常只会选择其中一种
SpringBoot配置文件_第1张图片

1.properties配置格式

通常是以键值对的格式存在的

server.port=9090
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/java78?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=111111

因为properties配置文件的格式会产生很多冗余数据,所有就出现了yml的配置格式

2.读取配置文件

通过@Value(“${配置文件名称}”)
SpringBoot配置文件_第2张图片
结果如下:
SpringBoot配置文件_第3张图片

3.yml的配置格式

yml具有严格的数据格式,冒号后面一定要加空格
SpringBoot配置文件_第4张图片

4.yml的优点

  1. 写法简单,通俗易懂,语法规则和json类似
  2. 支持多种编程语言
  3. 支持多种数据类型

5.使用yml配置不同的数据类型以及null

SpringBoot配置文件_第5张图片
以字符串为例,其他类型也都类似

SpringBoot配置文件_第6张图片
SpringBoot配置文件_第7张图片
读取null值和根本不存在的值结果如下:
在这里插入图片描述

null什么都不会输出,不存在的值会报错
在这里插入图片描述

6.注意:value值加单双引号有不同的意义

默认情况是什么都不加同单引号的意义一样:不会将特殊字符进行转义
加双引号:会对特殊字符进行转义

7.yml中还可以配置对象

SpringBoot配置文件_第8张图片
对象不能用@Value来获取,需要使用@ConfigurationProperties注解来读取
@Data会帮助我们写set和get对象以及tostring等需要重写的方法

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Controller;

@ConfigurationProperties(prefix = "student")
@Data
@Controller
public class Student{

    private int id;
    private String name;
    private int age;
}

SpringBoot配置文件_第9张图片
结果如下:
在这里插入图片描述

8.在yml中设置运行环境

spring.profiles.active=dev

你可能感兴趣的:(springboot,spring,boot,后端,java)