Spring-Boot---配置文件

配置文件的作用

整个项目中所有重要的数据都是在配置文件中配置的,具有非常重要的作用。比如:

  1. 数据库的连接信息
  2. 项目的启动端口
  3. 用于发现问题和定位问题的日志

配置文件的格式

在这里插入图片描述

注:

  1. properties格式是老版本,在创建SpringBoot项目时默认使用properties格式;yml格式是新版本。
  2. properties格式和yml格式可以同时出现在一个项目中,但是properties格式的配置文件优先级高(当在两种格式的配置文件里出现同一个配置时会采用properties格式的配置),在加载完properties格式的配置文件后也会加载yml格式的配置文件
  3. 建议在一个项目中只采用一种格式,便于维护。

Properties

Properties基本语法

server.port=8888
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/learning?characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=

注:

  1. properties格式的配置文件是SpringBoot项目默认的配置文件

  2. properties是以键值对的形式组织的,key和value之间用=连接

  3. 缺点:有很多冗余的信息,使用yml格式来解决

读取Properties配置文件

@Component
public class ReadProperties {
    @Value("${server.port}")
    private String port;

    @PostConstruct
    public void postConstruct(){
        System.out.println("server.port:" + port);
    }
}

注:

  1. 我们可以使用@Value注解来主动获取到配置文件中的内容
  2. @Value注解使用 ${} 的格式来读取配置文件

yml

yml基本语法

server: 
  port:8080

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/learning?characterEncoding=utf8&useSSL=false
    username: root
    password: 

注:

  1. yml也是以键值对的形式组织的,key和value之间用:连接,:和value之间必须有一个空格
  2. yml有很多优点:可读性高、写法简单、支持更多的数据类型、支持更多的编程语言

读取yml配置文件

@Component
public class ReadYml {
 	@Value("${server.port}")
 	private String port;
 	
 	@PostConstruct
 	public void postConstruct() {
 		System.out.println("Read YML,port:" + port);
 	}
}

注:读取yml格式配置文件的方式和读取properties格式配置文件的方式一样,都是使用@Value注解,采用 ${} 格式读取。

Properties VS Yml

  1. properties是以键值对 key=value 的形式配置的;yml是以 key: value 的形式配置的,层级之间采用换行缩进的方式,且空格绝对不能少
  2. properties是早期的配置格式,有数据冗余的问题;yml是新的配置格式,解决了数据冗余的问题
  3. yml的通用性更好,支持更多的编程语言
  4. yml支持更多的数据类型
  • 23
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值