springboot2.0入门(八)-- profile启动文件配置

一、不同环境使用不同配置文件

复制多份配置文件,修改不同的端口,在application.yml文件中添加具体启动的配置文件,可以看到不同的启动端口,使用maven的打包命令,将项目打入jar包:

<!-- 跳打包test文件报错-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
               <testFailureIgnore>true</testFailureIgnore>
             </configuration>
            </plugin>

如果打包出错,在xml中配置跳过test测试,进入到jar包目录,使用java -jar  启动项目

默认以开发环境8810端口启动,可以在启动时指定配置文件:

java -jar helloworld-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

项目以888端口启动

二、在idea中配置启动文件:

VM options设置启动参数 -Dspring.profiles.active=prod

Program arguments设置 --spring.profiles.active=prod

Active Profile 设置 prod

三个参数不能同时设置

2、配置文件的优先级:

外部大于内部,特指大于泛指

 下面特指的文件优先级更高

三、文件优先级说明

spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件

–file:./config/
–file:./
–classpath:/config/
–classpath:/

以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容。

SpringBoot会从这四个位置全部加载主配置文件,如果高优先级中配置文件属性与低优先级配置文件不冲突的属性,则会共同存在—互补配置。

我们也可以通过配置spring.config.location来改变默认配置

java -jar Xxx-version.jar  --spring.config.location=D:/application.properties

配置加载顺序

SpringBoot也可以从以下位置加载配置:优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置。

配置加载顺序

SpringBoot也可以从以下位置加载配置:优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置。

  1. 命令行参数
  2. 来自java:comp/env的JNDI属性
  3. Java系统属性(System.getProperties())
  4. 操作系统环境变量
  5. RandomValuePropertySource配置的random.*属性值
  6. jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件
  7. jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件
  8. jar包外部的application.properties或application.yml(不带spring.profile)配置文件
  9. jar包内部的application.properties或application.yml(不带spring.profile)配置文件
  10. @Configuration注解类上的@PropertySource
  11. 通过SpringApplication.setDefaultProperties指定的默认属性

原文地址:https://www.cnblogs.com/liweiweicode/p/11824895.html

时间: 2024-10-29 03:46:06

springboot2.0入门(八)-- profile启动文件配置的相关文章

Packet Tracer 5.0实验(八) 路由器静态路由配置

Packet Tracer 5.0实验(八) 路由器静态路由配置 一.实验目标 掌握静态路由的配置方法和技巧: 掌握通过静态路由方式实现网络的连通性: 熟悉广域网线缆的连接方式: 二.实验背景 学校有新旧两个校区,每个校区是一个独立的局域网,为了使新旧校区能够正常相互通讯,共享资源,每个校区出口利用一台路由器进行连接,两台路由器间学校申请了一条2M的DDN专线进行相连,要求你做适当配置实现两个校区间的正常相互访问. 三.技术原理 路由器属于网络层设备,能够根据IP包头的信息,选择一条最佳路径将数

springboot2.0入门(一)----springboot 简介

一.springboot解决了什么? 避免了繁杂的xml配置,框架自动帮我们完成了相关的配置,当我们需要进行相关插件集成的时候,只需要将相关的starter通过相关的maven依赖引进,并可以进行相关的插件整合开发, 当然,springboot简化了开发的流程,当我们需要插件的其他版本也可以使用自己的配置,但是需要对spring以及相关框架很熟悉,所以,高楼平地起,基础的框架和插件也是需要我们深入学习的: 总的来说 :springboot使配置.部署.监控.开发都变得相对简单. 二.spring

springboot2.0入门(七)-- 自定义配置文件+xml配置文件引入

一.加载自定义配置文件: 1.新建一个family.yam文件,将上application.yml对象复制进入family family: family-name: dad: name: levi age: 30 #${random.int} 随机数的值是不能传递的 mom: alias: - yilisha - alise age: ${family.dad.age} #妈妈的年龄和爸爸相同,没有则默认为24岁 child: name: happlyboy age: 5 friends: -

springboot2.0入门(九)-- springboot使用mybatis-generator自动代码生成

一.配置文件引入 插件引入,引入 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <configurationFile>${basedir}/src/mai

springboot2.0入门(三)----定义编程风格

一.RESTFul风格API 1.优点: )看Url就知道要什么资源 )看http method就知道针对资源干什么 )看http status code就知道结果如何 HTTP方法体现对资源的操作: GET : 获取资源 POST : 添加资源 PUT : 修改资源 DELETE : 删除资源 二.代码演示: /** * @author Levi * @date 2019/9/18 9:31 */ @Data @AllArgsConstructor @NoArgsConstructor @Bu

springboot2.0入门(四)----mock模拟测试+单元测试

一.本节主要记录模拟测试.单元测试: 二.mock 测试 1.1什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象.比如:对象B依赖于对象A,但是A代码还没写是一个空类空方法不能用,我们来mock一个假的A来完成测试. /** * @author Levi * @date 2019/10/4 21:09 */ //@Transactional @Slf4j @SpringBootTest public clas

springboot2.0入门(五)--swagger2接口API构建

一.特点 代码变,文档变.只需要少量的注解,Swagger 就可以根据代码自动生成 API 文档,很好的保证了文档的时效性. 跨语言性,支持 40 多种语言. Swagger UI 呈现出来的是一份可交互式的 API 文档,我们可以直接在文档页面尝试 API 的调用,省去了准备复杂的调用参数的过程. 还可以将文档规范导入相关的工具(例如 SoapUI), 这些工具将会为我们自动地创建自动化测试 二.代码 <dependency> <groupId>io.springfox</

myeclipse 乱码处理:设置tomcat6.0下的sever.xml文件配置字符集

<Connector port="8080" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443" /> 修改为: <Connector port="8080" protocol="HTTP/1.1"                c

springboot学习入门简易版三---springboot2.0启动方式

2.4使用@componentscan方式启动 2.4.1 @EnableAutoConfiguration 默认只扫描当前类 @EnableAutoConfiguration 默认只扫描当前类,如果再新建一个indexcontroller类,将无法被扫描. 新建indexcontroller类: /** * 测试index类 * @author admin * */ @RestController public class IndexController { @RequestMapping("