当前位置: 首页 > 知识库问答 >
问题:

包括spring boot 2.4.0版本中的配置文件

乔俊才
2023-03-14

作为开发人员,我在本地开发环境中使用默认的dev配置文件。下面是我的application-dev.properties文件的一部分:

# Profiles    
spring.profiles.include=auth

以前我使用的是spring boot 2.3.0.Release,而Spring.profiles.include属性在运行时包含auth配置文件。

但是在我迁移到spring boot 2.4.0之后,我没有启用auth配置文件。spring.profiles.include属性似乎不像以前那样工作了。

请告诉我如何配置我的配置文件,使我得到与迁移前相同的结果。(我不想在这里使用配置文件组)

提前道谢!

共有2个答案

游皓
2023-03-14

您可以使用类路径:使用spring.config.import

spring.config.import=classpath:application-DEV.yml,classpath:application-auth.yml
滕夜洛
2023-03-14

如果您的配置处理已以不兼容的方式更改,并且希望使用“遗留”处理方式,则可以通过设置:

spring.config.use-legacy-processing=true

或者,使用YAML:

spring:
  config:
    use-legacy-processing: true

这应将配置处理还原为等效的2.3.x。但是,请注意,该属性的存在只是为了简化从2.3.x2.4.x的迁移配置文件配置,并且可能会在未来的主要版本1中被弃用和删除,因此您仍应尝试尽快迁移。要了解此更改的原因和一些附加信息,请继续阅读。

2.4.0中值得注意的是以下两个范例:

因此,在spring boot 2.4中,我们计划对属性和YAML文件的加载方式进行两个重大更改:

>

  • 文档将按照定义的顺序加载。

    无法再从配置文件特定的文档激活配置文件。

    事实上,这一更改使what-overrides-what-when逻辑更易于理解,但导致必须禁用某些功能。例如:

    my.prop: test
    
    ---
    spring.profiles: prodprops
    my.prop: prod
    
    ---
    spring.profiles: prod
    # no longer works - activating a profile from a profile-specific document!
    spring.profiles.include: prodprops
      
    

    如果配置试图从配置文件特定的文档中激活配置文件,则会导致异常,这是不允许的。

    为了覆盖这个用例(和其他用例),配置文件组已经作为一个特性添加了。这意味着要启用以前的行为,您需要创建一个配置文件组,如下所示:

    spring.profiles.group.<group>=dev, auth
    

    或者在YAML中:

    spring:
      profiles:
        group:
          <group>: dev, auth
    

    其中 是所选配置文件组的名称。注意,您可以定义多个组,所有组都应该具有不同的名称。如果然后使用 配置文件启动应用程序,则应激活属于该组的所有配置文件。

    另外,spring boot2.4.0还增加了对多文档属性文件的支持,如下所示:

    test=value
    spring.profiles.active=local
    #---
    spring.config.activate.on-profile=dev
    test=overridden value
    

    请注意文档分隔符(#---)。这允许您在.properties文件中具有与.yml文件中类似的重写逻辑。

    同样,在相关的更新帖子中提供了此信息和其他信息。

    1如果以前的弃用是任何指标,则应最早在2.5.0或最晚在2.6.0中删除该属性,后者的可能性更大(在2.5.x中删除该属性)。

  •  类似资料:
    • 目前移动统计iOS SDK默认统计的版本为AppStore中的版本号,即CFBundleShortVersionString的值。如果您有自己设置版本的需求,可以设置shortAppVersion属性的值。具体设置方法参见本文档基础配置部分。

    • 目前移动统计Android SDK默认统计的版本为AndroidManifest.xml中配置的版本号,即android:versionName="xxx"的值。 如果您希望自定义APP版本号,可以通过API StatService.setAppVersionName(Context context, String versionName)进行设置。一般建议无需此设置,除非特殊需要,比如对于SDK

    • 本文向大家介绍Windows下maven安装配置图文教程(包括本地化仓库配置),包括了Windows下maven安装配置图文教程(包括本地化仓库配置)的使用技巧和注意事项,需要的朋友参考一下 一、下载maven maven官网:http://maven.apache.org/ 下载下来也就是一个压缩文件,解压。我下载的是3.5.2版本,解压之后如下: 路径为 :D:\Program Files\a

    • 包括和配置模块 某些模块只能用于特定功能。 pap模块就是这样,仅用于身份验证。 相反,sql模块可用于授权,会话检查以及记帐。 这完全取决于模块作者所包含的功能。 sql模块(rlm_sql.so)使用子模块。 这创建了一个抽象层。 根据主sql模块的配置方式,它将使用特定的子模块与某种类型的数据库进行交互。 子模块可用于连接MySQL(rml_sql_mysql.so),PostgreSQL(

    • 我试图在我的简单Groovy脚本中使用“httpBuilder”。当我使用'@grab'导入依赖项时,一切都运行良好。但是,我希望将jar保存在一个不同的目录中,并使用classLoader函数导入它。我已经复制了“@grab”放在我的grapes目录中的“http-builder-0.7.jar”,并将其粘贴到我的Groovy脚本运行的同一目录中(在Windows上)。然后注释掉“@Grab”语

    • 本文向大家介绍ubuntu mysql 5.6版本的删除/安装/编码配置文件配置,包括了ubuntu mysql 5.6版本的删除/安装/编码配置文件配置的使用技巧和注意事项,需要的朋友参考一下 1. 删除MySQL 上面的其实有一些是多余的,建议还是按照顺序执行一遍 2. 清理残留数据 3. 安装 mysql 安装完后可以mysql服务就启动了,也可以通过以下命令对管理mysql服务 使用如下命