欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot 多环境 配置文件配置 及 配置文件读取

程序员文章站 2022-05-02 12:27:24
...

Spring Boot 配置文件读取 及 多环境 配置文件配置
一. 自定义属性
    1. 新建SpringBoot web工程,选择devops,web及lombok 组件包含
    2. 修改 application.properties为 application.yml文件
    3. application.yml 写入

my:
    name: zhansan
    age: 88

    4. 在启动类上填写 @RestController

@RestController
@SpringBootApplication
public class ConfigTestApplication {
    //...
}

        定义变量:name 和 age,并且添加 @Value注解

@Value("${my.name}")
String name;

@Value("${my.age}")
int age;

    4. 添加restapi

@GetMapping("/getinfo")
public String getInfo(){
    return name + age ;
  }

    5. 访问接口发现配置信息已经读取成功
        
二. 将配置文件赋给实体
    1. 在上面工程基础上, 新建 UserInfo 实体类,并且添加标注

@Data
@ConfigurationProperties(prefix = "my")
@Component
public class UserInfo {
  @Value("${my.name}")
  String name;

  @Value("${my.age}")
  int age;

  public String pT(){
    return name + " ..." +  age;
  }

       2. 在启动类上添加 配置类注解

@RestController
@SpringBootApplication
@EnableConfigurationProperties({UserInfoEx.class,UserInfo.class})
public class ConfigTestApplication {
//...
}

    3. 定义实体类,添加注解

  @Autowired
  private UserInfo userInfo;

      4. 添加restapi 接口

 @GetMapping("/getuserinfo")
  public String getUserInfo(){
    return userInfo.pT();
  }

    5. 访问接口发现配置信息已经读取成功  

三. 自定义配置文件    
    1. 在上面工程基础上,在resources 目录下 添加自定义配置文件 test.properties

you.name=zhansan
you.age=99
you.sex=gg

    2. 添加自定义配置文件对应的实体类 UserInfoEx,并且添加注解

@Data
@Component
@PropertySource(value = "classpath:test.properties")
@ConfigurationProperties(prefix = "you")
public class UserInfoEx {

  String name;

  int age;

  String sex;

  public String pt(){
    return name + "..." + age + "..."+sex;
  }
}

    3. 添加实体类对象,并添加注解

  @Autowired
  private UserInfoEx userInfoEx;

    4. 添加restapi 接口

  @GetMapping("/getuserinfoex")
  public String getUserInfoEx(){
    return userInfoEx.pt();
  }

      5. 访问接口发现配置信息已经读取成功      
    
四. 多环境配置        
    1. 在上面工程基础上,在resources 目录下 添加多环境配置文件  application-dev.properties,application-prod.properties,application-test.properties
    他们分别对应开发环境,生产环境和测试环境,配置文件内容对应如下:
    
    application-dev.properties

server.port=8081

my.name=8081
my.age=8081

    application-prod.properties

server.port=8082

my.name=8082
my.age=8082

    application-test.properties

server.port=8083

my.name=8083
my.age=8083

    2. application.yml 添加配置文件如下:

spring:
  profiles:
    active: dev

   3. 启动类添加 restcontroller 注解,并且创建 restapi 接口

  @GetMapping("/getinfo")
  public String getInfo(){
    return name + age;
  }

    4. 启动工程,访问restapi接口,发现配置信息已经读取
    注意:此处修改了对应访问的接口,访问默认接口为8080,这里把开发环境,生产环境和测试环境接口修改为不一样,更加方便测试.