想要忽略properties中的某些属性,引发的对SpringBoot中的application.properties外部注入覆盖,以及properties文件使用的思考。

SpringBoot 配置文件application.properties配置参数替换或者注入的几种方式

之所以研究这个问题,原因是因为,我的项目如果通过git备份到码云上之后,mysql以及redis的密码也保存上去了,这样肯定是不行的,但是我如果忽略application.properties的话,就缺失了关键的配置信息;该怎么办呢?

我开始的想法是能不能把这些密码参数放到另一个properties中,然后通过注入(类似把properties中的常量注入到java文件中,或者是properties文件,同一个文件内引用${}的方式),所以按照这种注入的思维百度了很久,但是都没有找到解决办法…

加载顺序引入

后来师兄告诉我,你可以通过SpringBoot加载目录顺序来进行配置文件优先级覆盖,不用注入,在另一个地方写一个application.properties,利用SpringBoot加载顺序不同,优先级不同,在resources目录下新建一个config目录,在config目录下新建一个application.properties,在resources/config/application.properties下的配置加上密码之类的,而resources/application.properties中放上配置信息,所有的密码地址,等隐私信息给成默认的值就行了,比如localhost或者root

注意:这里的加载顺序是越往后越优先,后面覆盖前面的,和SpringBoot静态资源的顺序不同

顺便补充静态资源的加载顺序:/META-INF/resources/ > /resources/ > /static/ > /public/,这种顺序不同,当然如果你在application.properties中重写了spring.resources.static-locations,那另当别论,重写之后按照定义的顺序进行加载

spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/mzywucai/

师兄说了之后,我就去了解了一下SpringBoot的加载顺序:

SpringBoot配置文件的加载顺序

SpringBoot的配置文件可以放在四个地方,读取顺序不同(以下yml和properties均是如此):

读取顺序分别是(越靠前越优先,优先越高的地方读取到

java配置文件变量替换_SpringBoot 配置文件application.properties配置参数替换或者注入的几种方式...相关推荐

  1. Spring Boot中的application.properties配置简介(二)

    Spring Boot中的application.properties配置简介(二)   根据上文的介绍,我们已经对Spring Boot中的application.properties配置有了一定的 ...

  2. Spring Boot(四)-- 中的application.properties配置简介 2

      根据上文的介绍,我们已经对Spring Boot中的application.properties配置有了一定的了解,下面我们对此进行最后的介绍.   紧接上文的讲解,如下: 普通属性的注入   由 ...

  3. IDEA:application.properties配置

    错误提示:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource c ...

  4. java中四种注入注解,Spring中依赖注入的四种方式

    在Spring容器中为一个bean配置依赖注入有三种方式: · 使用属性的setter方法注入  这是最常用的方式: · 使用构造器注入: · 使用Filed注入(用于注解方式). 使用属性的sett ...

  5. SpringBoot 配置文件 application.yml(application.properties) 配置大全

    参考网址:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.ht ...

  6. 使用java -jar 修改SpringBoot项目中application.properties的配置项

    1 简介 如果Spring Boot整合了Maven来管理项目依赖的话,常见的打包方式有jar和war.如果使用war包,若要运行项目,需要把war丢到Tomcat.JBoss之类的容器中.此时修改配 ...

  7. java 打包xml脚本_springboot打包不同环境配置与shell脚本部署

    本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...

  8. spring cloud ,spring boot application.properties 配置属性列表

    #横幅 banner.charset = UTF-8#横幅文件编码. banner.location = classpath:banner.txt#横幅文件位置. banner.image.locat ...

  9. SpringBoot内部配置:“application.properties配置”和”使用XML配置”,读取属性文件中的内容,日志配置,Profile配置(学习:SpringBoot实战)

    1 SpringBoot内部配置 1.1.修改端口和应用上下文 server.port=9090 server.context-path=/helloboot Spring Boot也可以使用yml进 ...

最新文章

  1. 启动controller节点nova组件服务,报错ERROR 13
  2. JAVA好学吗?工资待遇怎么样?
  3. 知识管理≈内容管理≈文档管理≈项目文档管理
  4. 将一个字段分成3个 php,整理几个方法
  5. centos7.4下安装配置PHP服务(源码安装)并配置nginx支持php
  6. mfc函数调用堆栈溢出_01 JavaScript 调用堆栈
  7. xp系统怎样启动打印机服务器,WinXP系统如何开启Printspooler服务?
  8. linux脚本ipddr.sh 是什么,MTK DDR调试
  9. (12)Spring框架----Spring框架是如何配置数据库资源的
  10. 基于pyqt5的Demo软件开发
  11. 解决eccube お名前.com服务器 各种请求链接 https 不生效
  12. 'javac'不是内部或外部命令,也不是可运行的程序或批处理文件.
  13. Latex 大括号错位显示
  14. android 手机开门,1号社区APP"手机开不了门后的处理流程"
  15. 区块链基本概念学习笔记
  16. 6-11 使用函数输出水仙花数 (20 分)
  17. C# 导出excel文件的6种办法
  18. syntax error, expect [, actual {, pos 0, fieldName null解决方法
  19. 数据泄漏防御DLP的确切定义
  20. 【笔记】Spring - Spring Data 整合:SpringBoot、Redis

热门文章

  1. 二、时间序列的预处理
  2. javascript求1到100以内素数
  3. C++链表实现职工管理系统
  4. 16K 16BIT双声道文件格式解析
  5. SX1276调试总结
  6. 【读书笔记】C陷阱和缺陷
  7. 医药吧药品查询接口,提供开放的药品API
  8. 【css】纯css实现二级导航菜单
  9. wxpython制作抽奖页面
  10. 影响股价的因素有哪些?