SpringBoot学习笔记(3)----SpringBoot的profile多环境配置
在实际的应用开发中,可能会需要不同配置文件来支撑程序的运行,如开发,测试,预生产,生产环境等,程序在不同的环境下可能需要不同的配置,如不同数据源等,如果每次在不同的环境下都要去修改配置文件就会闲得不合理,而且很麻烦,此时就可以通过配置profiles,使程序在不同的环境中使用不同的配置文件。
1. properties文件配置方式
这种方式是将通用的配置到application.properties中,在application.properties中使用spring.profiles.active=xxx来指定某环境。每个不同环境的配置文件的命名方式为application-xxx.properties.其中spring.profiles.active=xxx的xxx与application-xxx.properties文件名的xxx必须一致。xxx就是表示是某个环境,程序会自动去读取application-xxx.properties中的配置文件信息。
示例:
application.properties
spring.profiles.active=dev
server.port=8080
application-dev.properties
server.port=8082
启动项目查看日志:
2018-10-11 15:54:59.672 INFO 7752 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8082 (http) with context path ''
2018-10-11 15:54:59.684 INFO 7752 --- [ restartedMain] c.w.boot.SpringBootDemo02Application : Started SpringBootDemo02Application in 2.504 seconds (JVM running for 4.081)
可以看出项目的端口是8082,使用的是application-dev.properties配置的端口,而不是application.properties中的8080.
2. yaml文件配置方式
application.yaml
server:
port: 8080
spring:
profiles:
active: dev
---
spring:
profiles: dev
server:
port: 8082
yaml文件中,直接使用---符号,就可以进行多环境配置了,如上,使用了dev的环境,启动后端口仍然是8082。
yaml配置文件的优势是,不用冗余多个文件,只需要一个文件就可以了,而且代码风格简洁,优雅,层次分明,但是不能使用@PropertySource()注解,所以如果需要使用@PropertySource()的话,需要使用application.properties.
SpringBoot学习笔记(3)----SpringBoot的profile多环境配置的更多相关文章
- springboot学习笔记-6 springboot整合RabbitMQ
一 RabbitMQ的介绍 RabbitMQ是消息中间件的一种,消息中间件即分布式系统中完成消息的发送和接收的基础软件.这些软件有很多,包括ActiveMQ(apache公司的),RocketMQ(阿 ...
- Spark学习笔记2(spark所需环境配置
Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后 ...
- SpringBoot学习笔记(6) SpringBoot数据缓存Cache [Guava和Redis实现]
https://blog.csdn.net/a67474506/article/details/52608855 Spring定义了org.springframework.cache.CacheMan ...
- springboot学习笔记-5 springboot整合shiro
shiro是一个权限框架,具体的使用可以查看其官网 http://shiro.apache.org/ 它提供了很方便的权限认证和登录的功能. 而springboot作为一个开源框架,必然提供了和sh ...
- 【转】SpringBoot学习笔记(7) SpringBoot整合Dubbo(使用yml配置)
http://blog.csdn.net/a67474506/article/details/61640548 Dubbo是什么东西我这里就不详细介绍了,自己可以去谷歌 SpringBoot整合Dub ...
- SpringBoot学习笔记(16)----SpringBoot整合Swagger2
Swagger 是一个规范和完整的框架,用于生成,描述,调用和可视化RESTful风格的web服务 http://swagger.io Springfox的前身是swagger-springmvc,是 ...
- SpringBoot学习笔记(15)----SpringBoot使用Druid
直接访问Druid官网wiki,有详细教程,地址如下: SpringBoot支持Druid地址:https://github.com/alibaba/druid/tree/master/druid-s ...
- SpringBoot学习笔记(11)-----SpringBoot中使用rabbitmq,activemq消息队列和rest服务的调用
1. activemq 首先引入依赖 pom.xml文件 <dependency> <groupId>org.springframework.boot</groupId& ...
- SpringBoot学习笔记(10)-----SpringBoot中使用Redis/Mongodb和缓存Ehcache缓存和redis缓存
1. 使用Redis 在使用redis之前,首先要保证安装或有redis的服务器,接下就是引入redis依赖. pom.xml文件如下 <dependency> <groupId&g ...
随机推荐
- jmeter的认识
jmeter JMeter是Apache组织开发的开源项目,设计之初是用于做性能测试的,同时它在实现对各种接口的调用方面做的比较成熟,因此,常被用做接口功能测试和性能测试. 它能够很好的支持各种常见接 ...
- Cacti部署之配置防火墙
因为SNMP协议通信会使用udp 的161端口和tcp的199端口,因此需要在防火墙上将其开启 开启入站端口 保存数据或者重启服务 测试SNMP工具连接是否可获取信息 注意:要能使用s ...
- Java从入门到精通一步到位!
Java作为近几年来非常火的编程语言,转行来做Java的人不计其数,但如今真正的人才仍然匮乏,所以学习Java一定要有一个系统的学习规划课程.阿里云大学帮您规划Java学习路线可以帮助您从一个小白成长 ...
- HTML 捕获window.close() 并做窗口关闭前的处理工作
转自:http://www.xinotes.net/notes/note/261/ <html> <head> <script language="JavaSc ...
- tensorflow的tf.train.Saver()模型保存与恢复
将训练好的模型参数保存起来,以便以后进行验证或测试.tf里面提供模型保存的是tf.train.Saver()模块. 模型保存,先要创建一个Saver对象:如 saver=tf.train.Saver( ...
- vue如何根据返回的值对元素进行样式渲染
1.最终显示样式: 需要:根据任务状态值,显示不同颜色的原点表示任务状态,以及对优先级的数据,进行☆标记 2.代码实现: 在<el-table-column>中需要显示的内容前面,添加图标 ...
- VUE:路由
VUE:路由 一.说明 1)官方提供的用来实现SPA的vue插件 2)github:https://github.com/vuejs/vue-router 3)中文文档:http://router.v ...
- VUE:计算属性和监视
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 【codeforces 812A】Sagheer and Crossroads
[题目链接]:http://codeforces.com/contest/812/problem/A [题意] 有一个小箭头指的那个地方; 指的就是人行道路; 然后p[i]指的就是那4个人行道是不是绿 ...
- 3.is null和is not null
3.WHERE中使用is null和is not null //查询工资是null空值的人 select * from person where salary is null; //查询工 ...