欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > Spring Boot实现多环境配置

Spring Boot实现多环境配置

2024/10/24 17:33:59 来源:https://blog.csdn.net/dot_life/article/details/139912470  浏览:    关键词:Spring Boot实现多环境配置

1.为什么需要多环境配置?

在实际项目开发过程中,我们往往需要区分开发,测试,联调,预发布,生产等不同的应用环境。这些应用环境用途不同,对应环境的配置项,稳定性,数据质量,保障性,可接触人群等要求也不同,比如 Swagger 一般上在生产时是关闭的;不同环境数据库地址,端口号等都是不尽相同的。要是没有多环境的自由切换,部署起来是很繁琐也容易出错的。 使用多环境配置,可以针对不同的应用环境,提前配置好对应的环境配置信息。在使用时,仅需要修改具体的环境名称,就可以把对应环境配置信息,系统参数等相关内容全部切换。不仅使用便捷,还极大地降低了手工修改参数的出错率。

2.代码工程

实验目标

实现不同环境配置和切换

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>springboot-demo</artifactId><groupId>com.et</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>MultiProfiles</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
</project>

controller

读取不同环境里面的name的值

package com.et.profile.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;
import java.util.Map;@RestController
public class HelloWorldController {@Value("${profile.name}")private String name;@RequestMapping("/hello")public Map<String, Object> showHelloWorld(){Map<String, Object> map = new HashMap<>();map.put("msg", "HelloWorld");map.put("name", name);return map;}
}

配置文件

application.yaml, 默认加载dev配置文件

server:port: 8088profile:name: dev

application-dev.yaml

server:port: 8088profile:name: dev

application-prod.yaml

server:port: 8088profile:name: prod

以上只是一些关键代码,所有代码请参见下面代码仓库

代码仓库

  • https://github.com/Harries/springboot-demo

3.测试

启动Spring Boot 应用程序

测试不同环境变量值

  • 访问 http://127.0.0.1:8088/hello
  • 根据加载不同环境,可以得到不同会返回参数

4.引用

  • 22. Profiles
  • Spring Boot实现多环境配置 | Harries Blog™

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com