spring boot启动环境的配置与更改(dev,local,pro)包含单元测试环境

这篇具有很好参考价值的文章主要介绍了spring boot启动环境的配置与更改(dev,local,pro)包含单元测试环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文件类型介绍

  • properties

该文件是一种key-value的格式,配置文件的特点是,它的Key-Value一般都是String-String类型的,因此我们完全可以用Map<String, String>来表示它。

用Properties读取配置文件非常简单。Java默认配置文件以.properties为扩展名,每行以key=value表示,以#课开头的是注释。

spring.profiles.active=dev
server.port = 8080
  • yaml

YAML是是以数据作为中心的文本,使用空格、缩进、分行来组织数据,使得内容更加简洁易读,并且有利于运维人员后期的维护,有点类似于json格式。

server:
  prot: 8080

相对于properties更简洁,减少冗余性。

yaml以缩进来控制层级关系,只要是左边对齐的一列数据都是同一个层级的。属性和值的大小写都十分敏感的。值前面一定要有一个空格。"":双引号;不会转义字符串里面的特殊字符;'':单引号;会转义特殊字符。

优势
spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

spring boot配置文件

通常情况下,Spring Boot 在启动时会将 resources 目录下的 application.properties apllication.yml 作为其默认配置文件,我们可以在该配置文件中对项目进行配置,但这并不意味着 Spring Boot 项目中只能存在一个 application.properties 或 application.yml。

application.properties 优先级高于 application.yml。一个项目中只使用一种格式的配置文件,便于统一管理维护维护。

spring boot项目启动时默认加载的优先级:

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring
spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

yaml配置文件的内容填充到IOC容器中:

spring boot项目在启动时都会读取并记载配置文件,通过@ConfigurationProperties注解可以将配置文件的所有内容加载到IOC容器并装配, @Value将相关属性一一对应自动装配。

person:
  name: mike
  age: 21
  sex:
@Component  //注册bean
@ConfigurationProperties(prefix = "person")
public class Person {
    private String name;
    private int age;
    private String sex;
    private Date date;
    private Dog dog;
    private List<Object> list;
    private Map<String,Object> map;
    
    //setter and  getter 
    }

@Component //注册bean
@PropertySource(value = "classpath:user.properties")
public class User {
    //直接使用@value
    @Value("${user.name}") //从配置文件中取值
    private String name;
    @Value("#{user.age}")  // #{SPEL} Spring表达式
    private int age;
    @Value("user.sex")  // 
    private String sex;
}

@PropertySource用于加载指定文件,非application前缀命名的都要使用该注解。该注解解决了一些配置分文件管理,不必都写了主配置文件中,减少冗余。

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

还有一个注解是@ImportResource自定义的xml配置文件,默认情况下这个bean是不会加载到Spring容器中来的。需要@ImportResource注解将这个配置文件加载进来。

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

多profile文件多启动环境

在开发,运行和测试的阶段,不同环境需要不同的配置如dev,pro,local环境

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

这样在启动时只需要激活相应的环境即可。

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

spring.profiles.active=dev激活配置文件。

除了在配置文件中在idea中也可以更改:

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

在pom文件中也可以设置

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

yaml的配置文件激活

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

两种配置方式的比较:

(1)Properties配置多环境,需要添加多个配置文件,YAML只需要一个配件文件

(2)书写格式的差异,yaml相对比较简洁,优雅

(3)YAML的缺点:不能通过@PropertySource注解加载。如果需要使用@PropertySource注解的方式加载值,那就要使用properties文件。

还可以dos命令更改:

java -jar myapp.jar --spring.profiles.active=dev

主要的激活方式

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

-Dspring.profiles.active=dev

单元测试启动环境配置

在spring boot的单元测试中,若想启动其他环境的需要通过idea工具。

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

如果直接点击Run xxx则启动的时配置文件配置了激活的环境,如spring.profiles.active=dev

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring

如果需要更换环境,就要点击最后一个Modify Run Configuration..

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring
在图中红线所指的属性添加spring.profiles.active=dev即可只能用key-value格式。

这样在启动时就会启动相应的环境:

spring profile dev 启动,# Spring Boot,spring boot,单元测试,spring文章来源地址https://www.toymoban.com/news/detail-784312.html

到了这里,关于spring boot启动环境的配置与更改(dev,local,pro)包含单元测试环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 启动spring boot项目时加载配置文件报错的问题

    最近把电脑重置了一下,然后重新安装各种开发软件,从gitee拉项目到本地运行时居然启动报错了: Failed to load property source from \\\'file:/D:/program/IdeaProjects/layui/target/classes/application.yml\\\' 这是加载配置文件的时候失败了,提示一堆错误信息,但是没有任何实质性的帮助。 导致种情况

    2024年02月11日
    浏览(48)
  • Linux环境中,通过systemd服务将Spring Boot Jar包设置为开机自启动

    1、进入/etc/systemd/system目录,并创建一个名为 spring-boot-app.service 的新服务文件。 2、将下面的配置内容复制到  spring-boot-app.service  文件中,并保存。 其中, username 是你要用来运行Spring Boot应用程序的用户名, /path/to/spring-boot-app.jar 是你的Spring Boot应用程序的路径。 3、重新加

    2024年02月06日
    浏览(82)
  • spring boot中的多环境配置

    的作用是为了启动某个环境,两个作用基本一致, 环境定义如下: 或者是查找application-dev.yml这个文件的所有配置 加载问价,使用的是import,注意语法:

    2024年02月06日
    浏览(40)
  • Dev C++编辑器的配置(包含代码自动补全配置)

    简单的介绍一下:本专栏是以收集常用编辑器的问题和配置为主,订阅不迷路 DEV C++ 5.11 最新版(或者更新的版本) 对代码的编译不进行讲解。 更改默认的主题,这个黑色主题是比较好看的(推荐)。默认是白色。 先打开: 工具 - 编辑器选项 - 语法 ,看到那个 预设 了吗?

    2023年04月08日
    浏览(36)
  • VSCode 配置 Spring Boot 项目开发环境

    神器IDEA在升级到2023之后越发卡顿, EDU邮箱也不能用了, 照现在这个JDK版本的升级速度, 神器不升级也不行, 需要开始物色替代品. 其它IDE我用得少, VSCode还是比较熟悉的, 可以作为备选项. 两三年前曾经试过配置Java环境, 存在不少问题作罢. 最近搜了下相关的文章, 感觉VSCode对Ja

    2024年03月10日
    浏览(67)
  • Spring Boot中通过maven进行多环境配置

    上文 java Spring Boot将不同配置拆分入不同文件管理 中 我们说到了,多环境的多文件区分管理 说到多环境 其实不止我们 Spring Boot有 很多的东西都有 那么 这就有一个问题 如果 spring 和 maven 都配置了环境 而且他们配的不一样 那么 会用谁的呢? 此时 我们就要分清 他们两个是谁

    2024年02月10日
    浏览(35)
  • Spring Boot多环境配置及Logback日志记录

    Spring Boot多环境配置 logback日志记录器 Spring Boot的针对不同的环境创建不同的配置文件, 语法结构:application-{profile}.properties profile:代表的就是一套环境 application-dev.yml 开发环境 端口8090 application-test.yml 测试环境 端口8091 application-prod.yml 生产环境 端口8092 在application.yml 中激活

    2024年01月19日
    浏览(49)
  • 【Node.js相关问题】npm install报错后重装node版本及npm环境变量配置及npm run dev启动报错原因分析解决办法

    昨天在准备打开b站up主三更草堂的博客项目08-02.基础版本前端联调_哔哩哔哩_bilibili中的前端工程时,使用以下两个命令分别都出现了报错。 命令1 : # install dependencies npm install 命令2 : # serve with hot reload at localhost:8080 npm run dev 2.1 首先是淘宝镜像过期的问题,这个解决办法比

    2024年04月10日
    浏览(93)
  • Spring Boot项目在Windows上的自启动策略与Windows自动登录配置

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月07日
    浏览(76)
  • Spring Boot java -jar --spring.profiles.active=dev 失效问题

    之前动态部署修改配置文件的情况不多,所以也没注意过,这个问题今天困扰了好久,经过多方查询后得到了解决办法 直接上代码 yml中的配置

    2024年02月19日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包