怎么在Springboot中引用外部配置文件

介绍

这期内容当中小编将会给大家带来有关怎么在Springboot中引用外部配置文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

首先想到的是通过java代码读取外边某个路径下的文件,但是开始做之后发现好多问题。后来又找其它解决方案,正好搜到一种简单的解决方式:

java  -jar  demo.jar ——Dspring.config.location=myapplication.properties

这样就可以通过@ value注解读取myapplication.properties中的配置信息了。(上边的大写D好像可以不写的)

后来想着直接把spring.config.location写到应用程序。属性配置文件中,然后指定一个固定的外部配置文件来获取信息,这样启动的时候就可以不用加最后一行了。

spring.config.location=C: \ \ \ \用户管理员git \ \ \ \ \ \显示主机。属性

可是这种方式是行不通的,比如我配置文件中有下面信息:

的名字=hellopangkunkun 

代码:

的名字=hellopangkunkun

我在启动的时候直接报这个地方的错误,说是无法找到名字,导致整个项目出异常。

后来搜了下文章,对比官网文档,又得到了一些信息:

24.3应用程序属性文件
SpringApplication将从应用程序负载特性。属性文件在以下位置,并将它们添加到Spring环境:

/config当前目录的子目录。
当前目录
类路径/配置包
类路径的根
是有序列表的优先级列表中(属性中定义的位置更高的覆盖那些定义在更低的位置)。

这里说了四种方式可以把配置文件放到外部的。
第一种是在jar包的同一目录下建一个配置文件夹,然后把配置文件放到这个文件夹下,
第二种是直接把配置文件放到jar包的同级目录;
第三种在类路径下建一个配置文件夹,然后把配置文件放进去;
第四种是在类路径下直接放配置文件。

这四种方式的优先级是从一到四一次降低的。

注:一二两种方案其实不是jar包的同级目录,而是(执行启动指令的)同级目录。为了便于理解我把上面的当前目录说成jar包的同级目录,这种说法并不对。如果是刚开始接触或者调试这块,还是在jar包同级目录方便。

由于我们是要从外部读取文件,所以直接说前两种。

看下文件目录结构:

怎么在Springboot中引用外部配置文件

这里的application.properties是我们的配置文件,配置是创建的另外一个目录、放的也是application.properties。

显示- 1.0 - snapshot.jar中可以包含应用程序。属性配置文件也可以不包含。

为了验证可以在配置中设置的名字=name1 jar同级目录中设置的名字=name2,如果jar中包含配置文件,将其中设置成的名字=name3。

直接使用指令启动:

java  -jar 显示- 1.0 - snapshot.jar

之后验证可得知,我们通过@ value(" ${名字}")获取到的名字的值是name1,把配置下的配置文件删除后获取的结果是name2,都删除后才会获取jar包中配置文件的数据name3。

另外如果我们想要想配置测试,开发,生产环境一样使用另外一个配置文件怎么来实现呢?

下面继续,我把应用程序。属性的信息修改如下:

spring.profiles。活跃=dev,主机

配置文件目录结构:

怎么在Springboot中引用外部配置文件”>,<br/> </p> <p>我又新增了一个名为application-host。性质的配置文件,同理也可以把这个文件考出来放到jar包外面,同级目录或者配置下。</p> <p>这样项目启动之后dev配置文件和主机配置文件都会生效。<br/> </p> <p> <img src= Springboot是什么

Springboot一种全新的编程规范,其设计目的是用来简化新弹簧应用的初始搭建以及开发过程,Springboot也是一个服务于框架的框架,服务范围是简化配置文件。

上述就是小编为大家分享的怎么在Springboot中引用外部配置文件了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

怎么在Springboot中引用外部配置文件