SpringBoot配置文件的加载位置实例详解 |
您所在的位置:网站首页 › springboot默认加载的配置文件 › SpringBoot配置文件的加载位置实例详解 |
SpringBoot配置文件的加载位置实例详解
发布时间:2020-09-26 14:29:37
来源:脚本之家
阅读:87
作者:熊熊爱绵羊
栏目:编程语言
springboot采纳了建立生产就绪spring应用程序的观点。 Spring Boot优先于配置的惯例,旨在让您尽快启动和运行。在一般情况下,我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下,我们需要做修改一些配置,或者需要有自己的配置属性。 SpringBoot启动会扫描以下位置的application.yml或者 application.properties文件作为SpringBoot的默认配置文件。 -file:./config/ -file:./ -classpath:/config/ -classpath:/ 即根目录下的config目录下,然后是 根目录下,然后是classpath路径下的config目录下,最后是classpath路径下。 优先级由高到低,高优先级的配置会覆盖低优先级的配置。 eg.假如:根目录下的config目录下定义端口为8084, 根目录下定义端口为8083 ,classpath路径下的config目录定义端口为8082,classpath路径下定义端口为8081,最后启动,启动的端口为8084 ,高优先级会覆盖低优先级。 注意: 并不是高优先级的被加载了,低优先级的就不会再加载,实际上是SpringBoot会从这四个位置全部加载主配置文件,并且还能产生互相配置的效果。 例如: 其它三个位置的主配置文件仅仅定义了端口,在最低优先级的classpath路径下的配置文件中配置项目访问路径,如下: 定义一个简单的Controller ,用来测出访问路径。
请看:访问路径变为 : 除此外,我们还可以通过spring.config.location来改变默认的配置文件位置。 项目打包好以后,我们可以使用命令行参数的形式,启动项目的时候来指定配置文件的新位置;指定默认加载的这些配置文件共同起作用形成互补配置。 eg : 在 G盘目录下,创建一个application.properties文件(yml也可以),定义端口为8085 打包项目,启动命令行:java -jar spring-boot-02-config-02.0.0.1-SNAPSHOT.jar --spring.config.location=G:/application.properties 回车运行。 浏览器访问: http:localhost:8005/boot02/hello ,显然外部指定的配置文件生效了,并且与之前的主配置文件形成了互补配置
外部配置加载顺序 SpringBoot也可以从以下位置加载配置,优先级从高到低,高优先级的配置覆盖低优先级的配置,所有的配置形成互补配置。 1. 命令行参数 eg: java -jar spring-boot-02-config-02.0.0.1-SNAPSHOT.jar --server.port=8087 2. 来自java:comp/env的NDI属性 3. Java系统属性(System.getProperties() ) 4. 操作系统环境变量 5. RandomValuePropertySource配置的random.*属性值 ---- 由jar包外向jar包内进行寻找: 优先加载带profile 6. jar包外部的application-{profile}.properties或application.yml(带spring.profile)配置文件 将打好的jar包放在一个目录下,比如叫做 hello的文件夹,然后再该文件夹下新建一个名为application.yml的文件,其中指定 port为8088 ,访问路径为/boot ,然后命令行直接启动项目。java -jar spring-boot-02-config-02.0.0.1-SNAPSHOT.jar 浏览器通过 localhost:8088/boot/hello 可以正常访问,表示同级目录下的配置文件生效了。 访问情况如下: 7. jar包内部的application-{profile}.properties或application.yml(带spring.profile)配置文件 8. jar包外部的application.properties或application.yml(不带spring.profile)配置文件 8. jar包外部的application.properties或application.yml(不带spring.profile)配置文件 9. jar包内部的application.properties或application.yml(不带spring.profile)配置文件 10. @Configuration注解类上的propertySource 11. 通过SpringApplication.setDefaultProperties指定的默认属性。 所有支持的配置加载来源: 参考官方文档 SpringBoot外部配置 总结 以上所述是小编给大家介绍的使用SpringBoot配置文件的加载位置实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对亿速云网站的支持! 推荐内容:SpringBoot 教程之属性加载详解 免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。 spring boot 配置文件 上一篇新闻:Python Flask框架模板操作实例分析 下一篇新闻:html页面中友情链接如何进行添加设置 猜你喜欢 OSX下安装PHP7的全过程分享 PHP5和PHP7取数组元素作动态函数名有什么差异 MacOS自带PHP5.6 升级到 PHP7.1怎么做 Php升级Php 7.4会遇到的两个大坑 如何解决PHP7.4和MySQL8的认证问题? CentOS系统安装PHP7并配置MySQL的方法 CentOS系统中如何安装PHP以及添加swoole扩展? php7以上版本的php-fpm参数配置 php中如何将mcrypt转换成openssl? PHP7编译memcached扩展的方法 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |