spring boot启动时加载外部配置文件的方法
程序员文章站
2023-11-13 11:42:34
前言
相信很多人选择spring boot主要是考虑到它既能兼顾spring的强大功能,还能实现快速开发的便捷。本文主要给大家介绍了关于spring boot启动时加载外...
前言
相信很多人选择spring boot主要是考虑到它既能兼顾spring的强大功能,还能实现快速开发的便捷。本文主要给大家介绍了关于spring boot启动时加载外部配置文件的相关内容,下面话不多说了,来随着小编一起学习学习吧。
业务需求:
加载外部配置文件,部署时更改比较方便。
先上代码:
@springbootapplication public class application { public static void main(string[] args) throws exception { springapplicationbuilder springapplicationbuilder = new springapplicationbuilder(application.class); springapplicationbuilder.web(true); properties properties = getproperties(); standardenvironment environment = new standardenvironment(); environment.getpropertysources().addlast(new propertiespropertysource("micro-service", properties)); springapplicationbuilder.environment(environment); springapplicationbuilder.run(args); } private static properties getproperties() throws ioexception { propertiesfactorybean propertiesfactorybean = new propertiesfactorybean(); resourcepatternresolver resolver = new pathmatchingresourcepatternresolver(); propertiesfactorybean.setignoreresourcenotfound(true); resource filesystemresource = resolver.getresource("file:/opt/company/test.properties"); propertiesfactorybean.setlocations(filesystemresource); propertiesfactorybean.afterpropertiesset(); return propertiesfactorybean.getobject(); } }
使用变量的工具类
@component public class environmentutil { private static environment environment; @autowired public void setenvironment(environment environment) { environmentutil.environment = environment; } public static <t> t getproperty(string key, class<t> targettype, t defaultvalue) { return environment.getproperty(key, targettype, defaultvalue); } public static <t> t getproperty(string key, class<t> targettype) { return environment.getproperty(key, targettype); } public static string getproperty(string key) { return environment.getproperty(key); } public static string getproperty(string key, string defaultvalue) { return environment.getproperty(key, defaultvalue); } public static integer getinteger(string key, integer defaultvalue) { return environment.getproperty(key, integer.class, defaultvalue); } }
也可以通过@value("${key}")
使用
这中加载方法优先级很高,如果与spring boot配置文件同名,将覆盖application.properties
文件中的配置。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
上一篇: PHP按行读取文件时删除换行符的3种方法
下一篇: 草根站长赚钱之道
推荐阅读
-
spring boot启动时加载外部配置文件的方法
-
Spring Boot打jar包后配置文件的外部优化配置方法
-
spring boot启动时加载外部配置文件的方法
-
spring源码分析(二):外部配置文件的加载
-
Spring Boot 的ComandLineRunner接口(容器在启动时需要加载的操作)及遇到的坑
-
Spring Boot使用application.yml配置文件的方法(代码示例)
-
Spring Boot外部配置文件的加载顺序
-
Spring Boot打jar包后配置文件的外部优化配置方法
-
Spring Boot使用application.yml配置文件的方法(代码示例)
-
Spring boot 引用外部配置文件的一个坑 spring.config.location