SpringBoot快速开发(三)【配置文件】

一、配置文件分类

分为yml和properties两类,properties文件中的内容冗余数据比较多,yml内容体现了面向对象的思想,推荐使用yml配置

二、修改配置文件

第一章节最后一张图(项目启动时控制台打印)中能看到,服务默认使用8080作为端口,可以通过修改配置文件来修改服务端口,从下图中看到,端口被改写为6666

tip:application.yml中可配置active项,根据该配置所对应的文件后缀,激活文件加载,如图:

三、bootstrap与application

一般情况下,除了application.yml这个文件,还有bootstrap.yml文件,该文件优先于application.yml文件加载。

  • bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
  • application.yml 可以用来定义应用级别的,如果搭配 spring-cloud-config 使用 application.yml 里面定义的文件可以实现动态替换。

使用Spring Cloud Config Server时,应在 bootstrap.yml 中指定:

  1. spring.application.name
  2. spring.cloud.config.server.git.uri
  3. 一些加密/解密信息 

注意:一旦bootStrap.yml 被加载,则内容不会被覆盖,即便后期加载的application.yml的内容标签与bootstrap的标签一致,application 也不会覆盖bootstrap, 而application.yml 里面的内容可以动态替换。

四、自定义属性

@value (能够获取配置文件中的参数值)

 配置文件:

对应的类文件

/**
 * 测试类
 *
 * @author renjie
 * @version 1.0.0
 */
@Component
public class Rj {
    @Value("${rj.name}")
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

获取到值:

@ConfigurationProperties (能以对象的形式获取配置文件中的内容)

 类文件修改:

/**
 * 测试类
 *
 * @author renjie
 * @version 1.0.0
 */
@Component
@ConfigurationProperties(prefix = "rj")
public class Rj {

    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

同样也能获取到值:

猜你喜欢

转载自blog.csdn.net/nsxqf/article/details/85328892