ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring Boot如何选择外部化的Spring属性文件

2019-12-11 01:02:24  阅读:196  来源: 互联网

标签:spring-boot spring java


我有此配置,需要用于Spring Boot应用程序.

server.port=8085
server.servlet.context-path=/authserver
#data source
spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=<url>
spring.datasource.username=<username>
spring.datasource.password=<password>
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect

默认情况下,spring-boot会拾取src / main / resources /中的application.properties文件.

我想更改此路径并将Spring Boot引导到其他application.properties文件

我可以使用

java -jar app.jar --spring.config.location=classpath:/another-location.properties  

有没有其他可选的解决方案,我可以在不通过命令行传递args的情况下实现这一目标?

我在用这个

   @PropertySource("file:C:\Users\test\.test\test.properties")
    @ConfigurationProperties(prefix = "spring")
    public class Configuration {

        private String ddlAuto;

        private String url;

        private String username;

        private String password;

        private String driverClassName;
    }

在我的主班

@SpringBootApplication
@EnableConfigurationProperties(Configuration.class)
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

在我尝试执行该应用程序之后,在src / main / resources /下的application.properties中注释掉了所有数据源属性
但是它不断给我以下错误,并且应用程序无法启动

我指的是本教程:https://www.mkyong.com/spring-boot/spring-boot-configurationproperties-example/

但是正如提到的那样,当我启动Spring Boot应用程序时出现此错误

***************************
APPLICATION FAILED TO START
***************************

Description:

Binding to target org.springframework.boot.context.properties.bind.BindException: 

任何帮助,将不胜感激

解决方法:

推荐的具有外部化属性的方法是使用spring.config.location系统属性,如下所示启动应用程序:

java -jar -Dspring.config.location=/path/to/my/file.properties app.jar

这样做的原因是,您没有在代码和文件系统层次结构之间添加耦合.

在Spring Boot 2.0之前,此属性是可加的,这意味着它将补充默认位置.在Spring Boot 2.0之后,spring.config.location将替换默认位置(例如classpath src / main / resources / application.properties).为了在2.0之后保持加性,请改用spring.config.additional-location.

请在此查看official documentation.

标签:spring-boot,spring,java
来源: https://codeday.me/bug/20191211/2105441.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有