SpringBoot配置文件

文章介绍了.properties和.yml两种配置文件格式在项目中的使用。properties是传统格式,而yml提供更清晰的结构。两者可以共存,但.properties优先级高。@Value注解用于读取配置。yml支持对象和集合配置,具有更好的可读性和通用性。
摘要由CSDN通过智能技术生成
配置文件格式
  1. .properties
  2. .yml
1.properties是项目创建时默认的,yml属于新版
2.两者可以共存,但是properties优先级更高
3.一般情况,会统一格式

1.properties配置文件说明

1.properties基本语法

properties是以键值的形式配置的,key和value之间以"="连接

#项目配置端口
server.port = 8888
2.读取配置文件

主动读取配置文件内容,使用@Value注解来是实现

package com.example.demo.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.annotation.PostConstruct;

/**
 * Created by 伦敦看日出
 * Description:
 * User: yyt
 * Date: 2023-04-24
 * Time: 11:20
 */
@Component
public class ReadProperties {
    @Value("${server.port}")  // 注意@Value格式 ${}
    private String port;

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

执行结果:

在这里插入图片描述

@Component在Spring Boot启动时候会注入到框架中,注入到框架中时会执行@PostConstruct初始化方法,这个时候就能够读取到配置信息了。

3.properties缺点分析

properties是以key-value的形式配置的,这样可能会产生很多冗余的信息

在这里插入图片描述

2.yml配置文件说明

yml的最大优势是可以跨语言

1.yml基本语法
  • key: value(英语冒号加空格,不可省略)
# 正确配置方式:中间有空格
string: java

# 错误配置方式:中间没有空格
string:java
2.yml使用示例
  • 使用yml连接数据库
spring:
  datasource:
    url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
      username: root
      password: 1234
3.yml使用进阶
  • 字符串默认不用加上单引号或者双引号
  • 单引号会转义特殊字符,特殊字符最终只是一个普通的字符串数据
  • 双引号不会转义字符串里面的特殊字符,特殊字符会作为本身想表示的意思

yml读取配置的方式和properties相同,使用@Value注解即可

package com.example.demo.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * Created by 伦敦看日出
 * Description:
 * User: yyt
 * Date: 2023-04-24
 * Time: 12:31
 */
@Component
public class ReadYml {
    @Value("${string.hello}")
    private String Hello;

    @PostConstruct
    public void postConstruct() {
        System.out.println("ReadYml,Hello:" + Hello);
    }
}

执行结果

在这里插入图片描述

yml中可以配置对象或者配置集合

3.properties VS yml 总结

  • properties与yml的配置形式不同
  • properties为早期的配置方式,存在冗余问题,yml可以很好的解决问题
  • yml的通用性更好,在使用云服务器配置的时候可以使用一份yml配置文件用于不同的语言
  • properties可以和yml共存,但一个项目中建议使用一份配置类型文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伦敦看日出

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值