Spring Boot 引入自定义yml

Posted 一盏烛火 孤灯独伴我

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 引入自定义yml相关的知识,希望对你有一定的参考价值。


喜欢yml配置文件格式的人性化,也喜欢properties配置文件管理方式的人性化,
那么下面我们就来看一下 yml 是如何配置和使用类似properties管理方式的人性化。

配置文件

设置Spring Boot 系统 yml 和自定义 yml文件

application.yml


spring:
  profiles:
    active: dev
    include: test  #或者 include: "test" 
  application:
    name: test-yml-application

application-test.yml


test:
  msg: 这不就是配置文件的内容吗

基于抽象类的使用

常见的有两种方式

@Value

AbstractCp


public abstract class AbstractCp {

    @Value("${test.msg}")
    private String msg;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

}

Cp


@Component
public class Cp extends AbstractCp {

}

@ConfigurationProperties

AbstractCp


@EnableConfigurationProperties
@ConfigurationProperties("test")
public abstract class AbstractCp {

    private String msg;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

}

Cp


@Component
public class Cp extends AbstractCp {

}

以上是关于Spring Boot 引入自定义yml的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Spring Boot 应用程序中的自定义 yml 文件加载配置

Spring boot中普通工具类不能使用@Value注入yml文件中的自定义参数的问题

Spring Boot - 如何通过实现 BeforeAllCallback 的自定义扩展类设置或覆盖 application.yml 中定义的属性?

IDEA开发spring boot应用时 application.yml 或 application.properties 自定义属性提示

springboot自定义配置

单体Spring boot引入外部配置文件yml,properties