java - Spring 启动: how to use @PropertySource to point to a text file outside the jar?

标签 java spring spring-boot properties external

我正在开发一个独立的 Swing/Spring Boot 应用程序,该应用程序将部署在许多不同的环境中。因此,我需要 Spring 加载外部配置文件,用户将在其中输入数据库凭据。当我用 Netbeans 注释我的配置类并运行它时,一切正常:

@PropertySource("classpath:config.properties")

在这种情况下,文本文件是从 src/main/resources 文件夹中获取的,并且应用程序可以使用凭据来启动。我的问题涉及最终将部署的打包 JAR 文件。由于类路径位于 JAR 内部,因此用户如何能够编辑其内容?

有没有办法让 @PropertySource 指向打包的 JAR 之外,例如使用我完全愿意添加的环境变量作为应用程序工作的要求?

最佳答案

正如这里提到的,您可以使用 yml 来获取外部属性:

Spring boot external configuration of property file

@PropertySource("file:${application_home}config.properties")//或指定yaml文件

关于java - Spring 启动: how to use @PropertySource to point to a text file outside the jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48874223/

相关文章:

java - 我可以在 JAXB 中对有时包含其他元素有时包含直接数据的元素进行建模吗

java - 将资源放在jar文件中并暴露给网络

java - Spring Boot + docker-compose + MySQL : Connection refused

java - 如何修复 spring boot 数据 jpa UnsatisfiedDependencyException

spring-boot - 如何使用 spring boot 插件 2.0.x 从一个具有不同依赖项的 gradle 项目生成 2 个 jar

java - 抓取 HTML 表格数据

java - TreeMap 迭代没有给我排序键

java - 尝试将 Spring 应用程序制作为 Web MVC

java - 在没有 spring security 的情况下,如何使用 spring boot + JPA 进行简单登录

spring - Spring @Transactional 的配置替代方案