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

项目结构如下:

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

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

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

application-{profile}.properties

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

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

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

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

application-dev.properties  开发资源文件

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

application-pro.properties  生产资源文件

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

application-test.properties     测试资源文件

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

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

spring.profiles.active=dev

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

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

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

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

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;
}
}

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

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

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);
}
}

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

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

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

spring.profiles.active=dev

是选择一种资源文件

spring.profiles.include=dev,test,pro

可以叠加多个资源文件

05-11 15:36