1.约定大于配置
比如说启动类所在的路径就是扫描路径这样的一个约定的存在,我们就可以不用配置扫描路径
2.配置文件的作用
1.配置比较重要的数据
- 数据库的连接信息
- 配置程序启动的端口号server.port
- 第三方的调用密钥
- 用来发现和定位的日志
3.配置文件的格式
springboot有两种配置文件格式,默认的是properties, 新版的是yml,两种可以同时存在,如果两个配置文件有冲突,我们还是以properties的为准,但是我们通常只会选择其中一种
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(“${配置文件名称}”)
结果如下:
3.yml的配置格式
yml具有严格的数据格式,冒号后面一定要加空格
4.yml的优点
- 写法简单,通俗易懂,语法规则和json类似
- 支持多种编程语言
- 支持多种数据类型
5.使用yml配置不同的数据类型以及null
以字符串为例,其他类型也都类似
读取null值和根本不存在的值结果如下:
null什么都不会输出,不存在的值会报错
6.注意:value值加单双引号有不同的意义
默认情况是什么都不加同单引号的意义一样:不会将特殊字符进行转义
加双引号:会对特殊字符进行转义
7.yml中还可以配置对象
对象不能用@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;
}
结果如下:
8.在yml中设置运行环境
spring.profiles.active=dev