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

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,这里把开发环境,生产环境和测试环境接口修改为不一样,更加方便测试.

发布了220 篇原创文章 · 获赞 16 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/zhanggqianglovec/article/details/103879758
今日推荐