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

如何在Spring Boot linux中向类路径提供外部配置资源(数据库属性和XML文件)

姬和豫
2023-03-14
@ImportResource("classpath:ips-spring.xml")
@SpringBootApplication(exclude = { KafkaAutoConfiguration.class })
@ComponentScan(value = "com.mark", useDefaultFilters = false)
@EnableAutoConfiguration
@EnableConfigurationProperties
public class ApplicationRest {
    public static void main(String[] args) {
        System.setProperty("spring.devtools.restart.enabled", "false");
        SpringApplication.run(ApplicationRest.class, args);
        System.out.println("Started ApplicationRest");
    }
}

<context:property-placeholder location="classpath:env.properties,classpath:db.properties" ignore-resource-not-found="false" ignore-unresolvable="false" />
<import resource="classpath:app-entity.xml" />

共有1个答案

顾炎彬
2023-03-14

我假设“外部配置”指的是未打包到Spring Boot工件(示例中为Jar)中的配置文件(*.properties*.yml

在本例中,根据定义,它们不在应用程序的类路径中。

所以套用一下,您正在询问如何向spring应用程序提供外部配置文件。正如您已经发现的,--spring.config.location确实是一种可行的方法:

--spring.config.location=file:/work/config1.yml,file:/work/config2.yml
 类似资料:
  • 我有第三方库,它是通过将属性文件放在类路径的根上来配置的。该库正在使用加载该文件。因为它是第三方,所以它是不可修改的。我已将该配置文件放入外部目录中(不要与Maven或Gradle目录结构中的相混淆)。 目录结构是这样的。 如何运行/配置Spring boot以将目录的内容包含到类路径中,从而使能够工作? 编辑: 只需要澄清一句--将配置文件放在项目资源中(沿着源)是不完整的。我想保持配置外部化。

  • 问题内容: 如何在netbeans项目的类路径中添加文件夹(例如,包含arts的资源文件夹)?我设法通过编辑项目的NB生成的jar文件(即其MANIFEST.MF文件+手动复制资源)来手动完成此操作,但是应该有一种方法可以告诉netbeans并注意资源,不是吗? 文件夹结构如下所示: 我不想将艺术品包装到罐子里,因为我希望艺术品可以轻松更换。如果我将art文件夹添加到src文件夹,则NB可以正常编

  • null 我希望使用标准的方法和spring的能力来自动配置bean,我不希望手动加载一些属性文件和手动配置所有bean。因此,为了解决这个问题,我创建了另一个配置应用程序--Customization.yml,并通过include将其链接到prod config中(参见上面的示例)。在这里我遇到了一个问题:我无法通过命令行参数(-dspring.config.location或任何it变体)选择

  • 问题内容: 我当然缺少有关喷油器的一些基本知识,但是我无法理解为什么 还有这个 按预期工作,而这 会抛出 错误:[$ injector:unpr]未知提供程序:$ provideProvider <-$ provide 如下所述,与提供者有一些特殊的关系,而与实例打交道时,我不确定使块如此特别的东西。 结果,是否没有办法到达外部块,例如,使用(尽管似乎也获得了提供者实例)? 除了好奇心外,这个问题

  • 我开发了Spring Boot 2.2.1应用程序。我有多个配置文件(应用程序-{provile}. yml)并使用liquibase自动迁移数据库。一切工作几乎正常(如果可以说Java,哈哈)。但是在正式生产环境中,我必须将配置文件作为外部yml文件从我们这边传递。 我正在执行以下shell以启动应用程序: 应用程序正在启动并且配置正确应用,除了liquibase。Liquibase使用类路径进

  • 问题内容: 在Web应用程序中,我需要提供位于应用程序上下文目录外部的静态内容(图像)。整个应用程序体系结构要求我使用Tomcat来执行此操作。我以为可以从Spring的应用程序URL和目录内容之间配置映射而受益。但是AFAIK的属性仅处理上下文相关或类路径映射。因此,我想使用的是: 不起作用。因为我宁愿避免编写简单的文件传输servlet,所以如果有人可以给我一些有关基于Spring的现有解决方