【基础篇】SpringBoot 配置文件详解

写在最前

配置文件

新建 Spring Boot 项目后,resources 目录下有一个默认的全局配置文件 application.properties(空文件),Spring Boot 在底层已经自动配置好了默认配置。

默认的文件类型是 .properties,我们这边修改为 .yml,原因是 .yml 更加灵活、简洁

自动提示

添加如下依赖后,我们在编写自定义配置时就会有属性提示。

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-configuration-processorartifactId>
    <optional>trueoptional>
dependency>

代码地址

mingyue-springboot-base

配置文件

默认属性

application.properties 文件重命名 application.yml

# 默认端口 8080 修改为 8090
server:
  port: 8090

重启项目测试端口变为 8090 即可!

自定义属性

Spring Boot 提供自定义配置组件,如果我们要自定义属性,可以在 application.yml 中直接配置,配置过程如下:

1.创建实体类映射配置的属性

package com.csp.mingyue.base.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/** @author Strive */
@Component
@ConfigurationProperties(prefix = "mingyue")
public class MingYueUserProperties {
  private Long id;
  private String name;
  private String sex;

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public String getName() {
    return name;
  }

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

  public String getSex() {
    return sex;
  }

  public void setSex(String sex) {
    this.sex = sex;
  }

  @Override
  public String toString() {
    return "MingYueUserProperties{"
        + "id="
        + id
        + ", name='"
        + name
        + '\''
        + ", sex='"
        + sex
        + '\''
        + '}';
  }
}

2.添加自定义属性

mingyue:
  id: 1
  name: 明月
  sex:

3.注入接口测试

package com.csp.mingyue.base.controller;

import com.csp.mingyue.base.config.MingYueUserProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/** @author Strive */
@RestController
public class MingYueController {

  private static final Logger log = LoggerFactory.getLogger(MingYueController.class);

  @Autowired private MingYueUserProperties mingYueUserProperties;

  @GetMapping("/mingYue")
  public String mingYue() {
    log.info("==== into mingYue api ====");
    return mingYueUserProperties.toString();
  }
}

打开接口查看打印:http://localhost:8090/mingYue

MingYueUserProperties{id=1, name='明月', sex='女'}

多环境配置

实际开发过程中,需要多个环境(如 开发、测试、生产等),而不同环境的配置都不一样,Spring Boot 提供了解决方案。

1.添加开发、生产两个环境文件测试

  • 开发环境:application-dev.yml

    # 开发环境
    server:
      port: 8090
    
  • 生产环境:application-prod.yml

    # 生产环境
    server:
      port: 9999
    

2.修改 application.yml 主配置文件

# active 指定配置文件
spring:
  profiles:
    active: prod

3.访问测试

先访问原地址:http://localhost:8090/mingYue =》(localhost 拒绝了我们的连接请求。)

在访问生产环境【9999】端口,http://localhost:9999/mingYue ,返回数据如下:

MingYueUserProperties{id=1, name='明月', sex='女'}

你可能感兴趣的:(Spring,全家桶,配置文件,spring,boot)