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

如何从不同的文件加载基于spring boot的REST应用程序属性?

丁成弘
2023-03-14

spring boot launcher似乎在寻找<code>应用程序。{xml|properties | yml 124yaml}文件在以下位置加载属性。是否有方法指定不同的文件名或文件以从中加载属性?

$ java -Ddebug -jar target/app-1.0.jar
16 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'file:./config/application.properties' resource not found
16 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'file:./config/application.yaml' resource not found
16 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'file:./config/application.yml' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'classpath:/application.properties' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'classpath:/application.xml' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'classpath:/application.yaml' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'classpath:/application.yml' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'classpath:/config/application.properties' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'classpath:/config/application.xml' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'classpath:/config/application.yaml' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'classpath:/config/application.yml' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'file:./application.properties' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'file:./application.xml' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'file:./application.yaml' resource not found
32 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'file:./application.yml' resource not found
6 [main] DEBUG org.springframework.boot.context.config.ConfigFileApplicationListener  - Skipped config file 'file:./config/application.xml' resource not found

编辑:

是否有方法指定另一个Bean配置文件(如applicationcontext.xml)?

共有3个答案

韩明德
2023-03-14

在命令行中,您可以使用以下属性来提及其他启动配置文件:

--spring.config.name="file:/path/to/application.properties"

另一种选择是:

-Dspring.config.name="file:/path/to/application.properties"

注意字符是小写的,单词分隔符是句号..

否则,您可以使用已使用键的环境变量:

>

  • 在 *nix 系统中:

    export SPRING_CONFIG_NAME=file:/path/to/application.properties
    

    在 Windows OS 中:

    set SPRING_CONFIG_NAME=file:/path/to/application.properties
    

    以下文档资源中有更多关于Spring Boot配置的信息。

  • 冯育
    2023-03-14

    您可以设置springs在启动期间搜索配置文件的文件夹。

    java-jartarget/app-1.0.jar-Dspring.config.location=your/config/dir/

    东郭淇
    2023-03-14

    您需要使用< code > @ configuration properties 来加载属性。

    @ConfigurationProperties(locations = {"yourProperties.xml"})
    
     类似资料:
    • 嗨,我正在学习Spring MVC,我想知道如何加载应用程序。动态创建属性文件。 我正在添加HibernateConfig。java文件和AppConfig。java文件。我想使用配置文件动态加载应用程序属性文件。例如:dev、test、prod。我尝试使用动态名称应用程序{profile}。属性,并尝试了轮廓注释。但无法理解它们实际上是如何工作的。我创建了一个不同的应用程序。属性文件。 应用程序

    • 我正在使用一个spring启动应用程序,它运行我的src/main/resources/config/application。yml。 当我通过以下方式运行测试用例时: 测试代码仍在运行我的应用程序。要加载属性的yml文件。我想知道是否有可能再运行一个*。运行测试用例时的yml文件。

    • 在我的项目中,我想使用特定于环境的属性文件。例如,如果我在开发中运行它,它应该使用应用程序。dev.properties,对于生产,它应该使用应用程序。产品属性等等。 我有下面两个文件在我的资源文件夹。 application.properties(用于生产) application.dev.properties(用于开发) 我有一个属性像下面的每个文件。 为了刺激 给德夫 我有一门课,如下所示

    • 如何创建支持多种环境的项目架构?在Spring的帮助下,每个环境将具有来自不同属性文件(dev-propertfile,test-propertfil,propertyfile)的不同数据源

    • 我有一个基于war的SpringWeb应用程序项目,该项目内部有多个jar文件。我正在使用maven设置来构建JAR和war文件。每个jar文件都有一组需要加载的bean,我不能这样做。 在每个jar文件中,我都定义了一个beans.xml文件。但是豆子不会自动上膛。我尝试加载beans.xml文件:a)src/main/Resources b)src/main/Resources/META-IN

    • 问题内容: 如何创建项目架构以支持多个环境。借助于spring的帮助,每个环境都将具有来自不同属性文件(例如,(dev-propertfile,test- propertyFil,Production-propertyfile))的不同数据源。 问题答案: 我将逐步介绍Spring引导应用程序的过程。 在 /src/main/resources/application.properties 内部,