当前位置: 首页 > wzjs >正文

如果做网站用java经典软文案例和扶贫农产品软文

如果做网站用java,经典软文案例和扶贫农产品软文,12380网站建设打算,华为邮箱怎么注册Spring Boot会从多个目录下查找并加载配置。我们今天来学习这几种加载外部应用配置的方式。 默认目录 classpath Spring Boot 默认会从 classpath 下加载application.properties或者application.yaml配置。这也是大部分项目默认使用的方式。 项目中最常用的也是默认的classpa…

Spring Boot会从多个目录下查找并加载配置。我们今天来学习这几种加载外部应用配置的方式。

默认目录 classpath

Spring Boot 默认会从 classpath 下加载application.properties或者application.yaml配置。这也是大部分项目默认使用的方式。
项目中最常用的也是默认的classpath是src/main/resources/
在这里插入图片描述

server.port=9001
默认目录 classpath下的config目录

在classpath下的config目录的配置,也会被Spring Boot 默认加载。
在这里插入图片描述

根目录下的config目录

项目根目录下的config目录的配置也会被默认加载,而且优先级比classpath下的更高。
在这里插入图片描述

修改默认加载目录 spring.config.location

有时候我们不想从classpath中加载,而是一个自定义的目录作为我们的配置目录,这时候 spring.config.location 这个配置项就起作用了。
我们可以在环境变量、系统变量或者命令行参数中使用这个配置项。
在这里插入图片描述
这样,Spring Boot就把项目根目录下的abc-test目录下的application.properties作为我们的配置。

特别注意的是,我们使用了这种配置后,src/main/resources这种classpath下的配置就失效了,Spring Boot不会去加载。

或者我们可以指定某个目录

-Dspring.config.location=file:./abc-test/

像前面,我们可以根据文件相对路径和绝对路径file:./abc-test
我们也可以指定classpath下的某个folder

-Dspring.config.location=classpath:custom-config/

不管配置file:./XXX 或者 classpath:XXX,如果XXX 目录不存在,应用启动会失败。
要解决这个问题,我们可以加上optional的选项。
在这里插入图片描述

加载额外配置 additional-location

前面说过 spring.config.location 会导致src/main/resources这个配置路径失效,这通常是我们不期望的。怎么保留src/main/resources的前提下,加载其它folder的配置呢?
这时候,我们可以使用spring.config.additional-location 这个配置项。
在这里插入图片描述

导入额外的配置 import

类似 spring.config.location 配置,我们还有一种方法,在保留加载classpath的前提下,还能加载外部配置。
src/main/resources/application.properties

spring.config.import=file:./abc-test/

或者指定具体的配置文件

spring.config.import=file:./abc-test/hello.properties

也可以是一个yaml格式的配置

spring.config.import=file:./abc-test/hello.yaml

hello.yaml

server:port: 9008
加载json作为配置

如果某些场景,我们需要加载一个json文件作为我们的应用配置,Spring Boot支持这种配置方式吗?
让我们来试试
在这里插入图片描述
然后我们来试试使用import的方式
src/main/resources/application.properties

spring.config.import=file:./abc-test/hello.json

非常可惜的是,启动应用报错:

Unable to load config data from ‘file:./abc-test/hello.json’
File extension is not known to any PropertySourceLoader. If the location is meant to reference a directory, it must end in ‘/’ or File.separator

查看Spring Boot的源码可以知道,原来Spring boot的import只支持两种文件后缀

  • properties
  • yaml

还支持目录.

spring.config.import=file:./abc-test/

这样能加载abc-test目录下的hello.json配置吗?很可惜,不支持。

后来我想当一种walkaround,把app.json的后缀改一下可以吗?
在这里插入图片描述

居然可以!!!!

根本原因

Json is subset of yaml
Json 是 Yaml的子集。

http://www.dtcms.com/wzjs/32250.html

相关文章:

  • 南京网站制作有限公司2021谷歌搜索入口
  • 大楼物流公司网站源码抖音推广渠道有哪些
  • wordpress yoast设置seo系统培训哪家好
  • 万网如何上传静态网站百度大搜
  • 设计师推荐网站欣赏网络推广专员所需知识
  • 电商网站运维怎么做品牌策划公司哪家好
  • 怎么建设公司小程序网站自己可以创建网站吗
  • 设计精美的中文网站简述网络营销的概念
  • 软件开发培训需要多少钱东莞网站建设seo
  • 网站外链优化网站首页制作网站
  • 网站换域名了怎么做301重定向最新的疫情最新消息
  • 建设企业网站步骤qq推广网站
  • 用web做购物网站怎么做搜索网络广告推广方法
  • 淘宝客返利网站开发杭州最专业的seo公司
  • 长沙做企业网站推广的公司网店培训教程
  • 廊坊微信网站建设nba实力榜最新排名
  • 网站兼容模式怎么设置重庆放心seo整站优化
  • 设计师如何做自己的个人网站企业推广网站有哪些
  • 做门户网站的公司有哪些seo品牌优化
  • 传媒网站建设网重庆网站优化公司
  • 做网站需要的信息太原互联网推广公司
  • 跨境电商东莞网站建设域名注册信息怎么查
  • 网站运行需求正规seo需要多少钱
  • 大理企业网站建设泰州seo网络公司
  • 网站建设 书平台推广广告宣传词
  • 怎么给自己公司做网站seo的优缺点
  • 太原谁想做网站长沙关键词优化新行情报价
  • 苏州网站设计公司排名百度官网app下载
  • 做p2p网站的主页模板成都关键词优化报价
  • 网页版梦幻西游官网seo营销的概念