走进SpringBoot之配置文件与多环境详解

在第一个Springboot项目中我们知道,SpringBoot项目的默认 配置文件在main/resources下的application.properties下,我们接直接用之前的项目了解一下配置文件。

application.properties配置文件中 配置整个springboot所需的配置,例如端口,项目名称,redis信息,到后续开发springcloud时的注册中心等等的配置信息,当然也可以自己自定义的配置项。

我们打开application.properties,添加配置项:

server.port=8083
name=this is default

然后改写之前的HelloSpringBootController类:

@RestController
public class HelloSpringBootController {

	@Value("${name}")
	private String name;
	@RequestMapping("/sayHello")
	public String sayHello() {
		return "Hello ,"+this.name;
	}
}

接着启动项目可以看见:

启动了8083 端口

我们访问一下http://127.0.0.1:8083/sayHello,效果如下:

访问 成功,配置项正确获取了。

但是在我们正常的开发中会有多个环境,测试环境,开发环境,生产环境,联调环境等等,每个环境下的配置不尽相同,那就需要我们配置多环境的配置文件:

首先在main/resources下 创建以下几个环境配置文件

修改各个配置文件的端口和name值

在application.properties下设置:

spring.profiles.active=prod

确定当前使用的是哪个环境,这边环境的值与application-prod.properties中-后面的值对应,这是SpringBoot约定好的,

启动项目:

会发现启动了application-prod,properties配置下的8082端口,因为我们设置了当前的环境是prod,所以application-prod,properties生效了。

在浏览器中输入http://127.0.0.1:8082/sayHello,效果如下:

获取到 了正确的端口和值,可以依次测试各个环境。

基本的多环境配置如上述。

但是在工作项目中我们将一个项目打包之后发布,springboot 项目使用java -jar xxx.jar 来启动项目。那么我们现在打包之后部署在开发环境中,配置文件中应该这样配置

spring.profiles.active=dev

那么如果我们要将项目部署到测试环境中,是不是需要修改一下配置文件,然后重新打包部署呢?显然不是的,当然有更好的办法来解决。

首先我们将 项目打包,当然我们一般会有一些自动打包的脚本,但是这边我就 直接使用cmd打包

打开cmd进入当前项目的目录

运行mvn install (首先确认你已经安装了maven并且配置好环境变量,mvn是可以运行的)

运行成功之后进入target目录会看见,项目已经打包成jar了

cmd 继续进入target目录 (jar所在的目录)

运行:

java -jar PropertiesSpringBoot-0.0.1-SNAPSHOT.jar --spring.profiles.active=test

运行jar包,并使用--配置项=值,来设置配置项

可以看见启动了测试环境8083

访问正确!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • springboot 多环境配置教程

    在上一课中我们通过idea工具没有做任何配置就构建了一个springboot项目,并且已经成功启动了,但我们都很清楚这些都远远不能达到我们实际项目的需求,比如我们要引入我们自己的redis配置.mysql配置等,应该如何处理呢?在spring mvc中我们都是通过spring.xml相关文件配置,在springboot中这些都已经不存在了,我们应该怎样配置呢?别急,马上为大家揭晓谜底,跟着我一起来吧! NO1.我们在做项目的时候是不是都会区分很多环境呢?比如开发环境.测试环境.生产环境等,那么第

  • 走进SpringBoot之配置文件与多环境详解

    在第一个Springboot项目中我们知道,SpringBoot项目的默认 配置文件在main/resources下的application.properties下,我们接直接用之前的项目了解一下配置文件. application.properties配置文件中 配置整个springboot所需的配置,例如端口,项目名称,redis信息,到后续开发springcloud时的注册中心等等的配置信息,当然也可以自己自定义的配置项. 我们打开application.properties,添加配置项:

  • Springboot常用注解及配置文件加载顺序详解

    Springboot常用注解及底层实现 1.@SpringBootApplication:这个注解标识了一个SpringBoot工程,她实际上是另外三个注解的组合,分别是: @SpringBootConfiguration:源码可以看到,这个注解除了元注解外,实际就只有一个@Configuration,把该类变成一个配置类,表示启动类也是一个配置类: @EnableAutoConfiguration:是开启自动配置的功能,向Spring容器中导入了一个Selector,用来加载ClassPath

  • springboot全局配置文件与多环境配置的全过程

    目录 1.全局配置文件 2.多环境配置 附:加载多环境配置 总结 1.全局配置文件 新建一个springboot项目它的resources目录下有一个application.properties,这个文件就是springboot的全局配置文件. 全局配置文件的格式有三种,分别为 .properties .yaml .yml我们可以新建application.yaml application.yml,同样他们也都是全局配置文件.他们的配置先后顺序为 .properties .yaml .yml,.

  • SpringBoot+RabbitMQ实现消息可靠传输详解

    目录 环境配置 消息丢失分析 生产阶段 生产端模拟消息丢失 RabbitMQ 消费端 环境配置 SpringBoot 整合 RabbitMQ 实现消息的发送. 1.添加 maven 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <depen

  • SpringBoot Starter依赖原理与实例详解

    目录 1 Starter 2 了解 spring.factories机制 2.1 不同包路径下的依赖注入 2.2 spring.factories 机制 3 spring.factories 机制的实现源码分析 4 程序运行入口run() 1 Starter 在开发 SpringBoot 项目的时候,我们常常通过 Maven 导入自动各种依赖,其中很多依赖都是以 xxx-starter 命名的. 像这种 starter 依赖是怎么工作的呢? 2 了解 spring.factories机制 导入一

  • SpringBoot整合junit与Mybatis流程详解

    目录 SpringBoot整合junit 环境准备 编写测试类 SpringBoot整合mybatis 回顾Spring整合Mybatis SpringBoot整合mybatis 创建模块 定义实体类 定义dao接口 定义测试类 编写配置 测试 使用Druid数据源 SpringBoot整合junit 回顾 Spring 整合 junit @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = SpringC

  • 基于Python_脚本CGI、特点、应用、开发环境(详解)

    CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户端HTML页面的接口. CGI程序可以是Python脚本.Perl脚本.Shell脚本.C或者C++程序等. 服务器 在你进行CGI编程前,确保您的Web服务器支持CGI及已经配置了CGI的处理程序. 所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录.这个目录被称为CGI目录,并按照惯例,它被

  • webpack 2.x配置reactjs基本开发环境详解

    本文介绍了webpack 2.x配置reactjs基本开发环境详解,分享给大家,具体如下: 当前webpack版本:2.2:react: 15.4.2 webpack从1.x升级到2.x替换了几个接口,包括module.loaders这样的重要接口已被弃用(详细变更).官网目前已不推荐使用1.x版本,早上折腾一番,根据2.2版本配置了react基本的开发环境,满足不太复杂的web应用开发,后期会逐步优化配置文件. 如果您之前使用过webpack,需要改动的地方并不大.下文假定您没有接触过类似的打

  • IntelliJ Idea SpringBoot 数据库增删改查实例详解

    SpringBoot 是 SpringMVC 的升级,对于编码.配置.部署和监控,更加简单 微服务 微服务是一个新兴的软件架构,就是把一个大型的单个应用程序和服务拆分为数十个的支持微服务.一个微服务的策略可以让工作变得更为简便,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议. Spring 为 微服务提供了一整套的组件-SpringClound , SpirngBoot 就是该基础. 第一个SpringBoot程序 这里使用的开发软件是IntelliJ Idea,和Eclipse

  • Springboot访问html页面的教程详解

    1. 在原有的项目resouces目录下创建static包,并在static下创建pages,然后在pages包下hello.html. 这时你会发现hello.html并没有在static中,它跑哪去了呢?打开src下的webapp,发现有一个hello.htm,删除web.xml,并将hello.html用鼠标左键移到static目录下; hello.html代码: <!DOCTYPE html> <html> <head> <meta charset=&qu

随机推荐