【spring boot】4.spring boot配置多环境资源文件

时间:2021-08-03 21:49:06

一个spring boot 项目在开发环境、测试环境、生产环境下,好多的配置都是不尽相同的。所以配置多分的资源文件,仅仅在部署在不同环境的时候,选择激活不同的资源文件就可以实现多环境的部署。

 

项目结构如下:

【spring boot】4.spring boot配置多环境资源文件

 

1.配置多个环境下的不同的资源文件

多个资源文件的格式如下:

application-{profile}.properties

{profile}自定义的不同环境标识,本项目中分别对应如下:

【spring boot】4.spring boot配置多环境资源文件

==========================================================================

 列出各个环境下的资源文件内容:

application-dev.properties  开发资源文件

【spring boot】4.spring boot配置多环境资源文件

application-pro.properties  生产资源文件

【spring boot】4.spring boot配置多环境资源文件

application-test.properties     测试资源文件

【spring boot】4.spring boot配置多环境资源文件

 

2.主资源文件中 选择激活一种环境下的资源文件

spring.profiles.active=dev

 dev就是上面一种资源文件的自定义标识

【spring boot】4.spring boot配置多环境资源文件

 

3.绑定到一个bean,提供给程序中使用

【spring boot】4.spring boot配置多环境资源文件

【spring boot】4.spring boot配置多环境资源文件【spring boot】4.spring boot配置多环境资源文件
package com.sxd.beans;

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

import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "com.sxd")
public class ConfigBean {

    private String ip;
    private String value;

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
View Code

 

 

4.程序主入口,激活绑定的bean,顺便使用了

【spring boot】4.spring boot配置多环境资源文件

【spring boot】4.spring boot配置多环境资源文件【spring boot】4.spring boot配置多环境资源文件
package com.sxd.firstdemo;

import com.sxd.beans.ConfigBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@SpringBootApplication
@EnableConfigurationProperties({ConfigBean.class})
public class FirstdemoApplication {

    @Autowired
    ConfigBean configBean;

    @RequestMapping("/")
    public String index(){

        return "IP:"+configBean.getIp()+"\n环境:"+configBean.getValue();
    }
    public static void main(String[] args) {
        SpringApplication.run(FirstdemoApplication.class, args);
    }
}
View Code

 

 

5.启动并访问  ,当前激活的是开发环境资源文件

【spring boot】4.spring boot配置多环境资源文件

 

 

 

==================================================================================================================

spring.profiles.active=dev

是选择一种资源文件

 

spring.profiles.include=dev,test,pro

可以叠加多个资源文件