springboot-多环境配置文件

简介: 本文介绍了如何创建开发和生产环境的配置文件,并在IDEA和Maven中进行配置。开发环境中,通过设置profile为`dev`来指定配置文件;生产环境中,使用Maven命令参数`-Pprod`打包并指定配置文件。公共配置可放在`application.yml`中统一管理。日志配置需确保`logback-spring.xml`中的profile正确,以保证日志正常输出。

创建两个环境的配置文件

创建两个环境的配置文件:开发和生产。

内容不一样,比如数据库的用户名密码不一样。

idea怎么知道是哪个环境?

找到运行配置

找到profile配置项(profile就是环境的意思),值为dev。因为idea是开发环境嘛,所以直接填写dev即可。

到这里其实就已经配置完成了,启动即可找到对应环境的配置文件。而且启动日志也会打印是哪个环境。

java

代码解读

复制代码

2023-08-20 23:50:42.662  INFO 40992 --- [           main] com.itranswarp.Application               : The following 1 profile is active: "dev"

生产环境

开发环境ok之后,我们现在要打包发布到生产环境,这个时候怎么办?

基于maven的命令的参数-Pprod。

java

代码解读

复制代码

clean package -DskipTests -Pprod

-P参数就是profile参数,即打包的时候使用哪个环境的配置文件。


除了maven命令需要添加入参,pom文件还需要配置入参。说白了,就是二者结合才能生效。

小结

1、多环境配置文件的文件名字都是按固定格式来,因为约定大于配置。

2、正因为约定大于配置,所以不管是idea,还是maven打包命令,配置环境参数之后,就会自动找到对应环境的配置文件。

公共配置

如果有公共配置,也可以放在application.yml文件。所谓公共配置,就是不同环境的公共配置项和值都一样,那么就可以放在公共配置文件,说白了,就是只在一个地方维护。

日志

启动项目之后,如果控制台出现看不到日志的情况,但是项目是启动成功并且可以正常访问,那么有可能是日志配置文件里的profile配置的不对。

比如,检查logback-spring.xml里的profile配置是否正确。因为有可能写到其他地方去了。

xml

代码解读

复制代码

<springProfile name="native">
  <root level="INFO">
   <appender-ref ref="CONSOLE" /> <!-- native配置即本地配置,就写日志到控制台 -->
  </root>
 </springProfile>
 
 <springProfile name="!native">
  <root level="INFO">
<!--   <appender-ref ref="APP_LOG" />--> <!-- 非native配置,就写日志到文件 -->
   <appender-ref ref="CONSOLE" />
  </root>
 </springProfile>


转载来源:https://juejin.cn/post/7269563694677032960

相关文章
|
10月前
|
存储 前端开发 Java
Springboot静态资源映射及文件映射
在Spring Boot项目中,为了解决前端访问后端存储的图片问题,起初尝试通过静态资源映射实现,但发现这种方式仅能访问打包时已存在的文件。对于动态上传的图片(如头像),需采用资源映射配置,将特定路径映射到服务器上的文件夹,确保新上传的图片能即时访问。例如,通过`addResourceHandler(&quot;/img/**&quot;).addResourceLocations(&quot;file:E:\\myProject\\forum_server\\&quot;)`配置,使前端可通过URL直接访问图片。
669 0
Springboot静态资源映射及文件映射
|
9月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
XML 前端开发 Java
基于SpringBoot 3.3实现任意文件在线预览功能的技术分享
【8月更文挑战第30天】在当今的数字化办公环境中,文件在线预览已成为提升工作效率、优化用户体验的重要功能之一。无论是文档、图片、PDF还是代码文件,用户都期望能够直接在浏览器中快速查看而无需下载。本文将围绕如何在Spring Boot 3.3框架下实现这一功能,分享一系列技术干货,助力开发者高效构建文件预览服务。
1566 3
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
734 1
SpringBoot获取项目文件的绝对路径和相对路径
|
XML Java Kotlin
springboot + minio + kkfile实现文件预览
本文介绍了如何在容器中安装和启动kkfileviewer,并通过Spring Boot集成MinIO实现文件上传与预览功能。首先,通过下载kkfileviewer源码并构建Docker镜像来部署文件预览服务。接着,在Spring Boot项目中添加MinIO依赖,配置MinIO客户端,并实现文件上传与获取预览链接的接口。最后,通过测试验证文件上传和预览功能的正确性。
1344 4
springboot + minio + kkfile实现文件预览
|
网络协议 Java
springboot配置hosts文件
springboot配置hosts文件
220 11
|
存储 前端开发 JavaScript
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
存储 前端开发 Java
Spring Boot 集成 MinIO 与 KKFile 实现文件预览功能
本文详细介绍如何在Spring Boot项目中集成MinIO对象存储系统与KKFileView文件预览工具,实现文件上传及在线预览功能。首先搭建MinIO服务器,并在Spring Boot中配置MinIO SDK进行文件管理;接着通过KKFileView提供文件预览服务,最终实现文档管理系统的高效文件处理能力。
1851 11