这些方式优先级如下:命令行参数来自java:comp/env的JNDI属性Java系统属性(SystemgetProperties()) *** 作系统环境变量RandomValuePropertySource配置的random属性值jar包外部的application-{profile}properties或applicationyml(带springprofile)配置文件jar包内部的application-{profile}properties或applicationyml(带springprofile)配置文件jar包外部的applicationproperties或applicationyml(不带springprofile)配置文件jar包内部的applicationproperties或applicationyml(不带springprofile)配置文件@Configuration注解类上的@PropertySource
Spring Boot 是 Spring 产品中一个新的子项目,致力于简便快捷地搭建基于 Spring 的独立可运行的应用。大多数的 Spring Boot 应用只需要非常少的 Spring 配置。 你能够使用 Spring Boot 创建 Java 应用并通过 java -jar 来运行或者创建传统的通
我们在做微服务项目时候会引入spring cloud框架,对于配置文件我们就会通过spring cloud config来配置,实现线上环境动态修改配置文件属性而不需要重新打jar 包。 但是对于单体的spring boot工程,我们又希望可以在生产环境中方案修改配置文件属性。
通过引入外部配置文件,应用启动时候设置配置文件的自动加载
1: 在单体工程的root目录下添加一个config目录,然后新建我们的properties, 如:jdbc-dbproperties, redisproperties
2: 然后在我们的application启动类上添加@propertySources注解引入我们的外部文件
注意:因为PropertySources 默认只解析properties文件,如果要解析yml文件,需要指定factory只需要实现orgspringframeworkcore下的 PropertySourceFactory 接口就OK了。
简单的properties配置文件只需要按如下方式配置即可
只需要1,2步骤就可以完成外部文件的加载,如果涉及到线上修改配置就只需要手动修改配置文件,重新启动应用即可生效。
把 applicationyml 文件放在执行 java -jar 命令所在的目录中;
执行 java -jar xxxjar 命令,此时 applicationyml 应放在 xxxjar 同级目录;
执行 java -jar /abc/xxxjar 命令,此时 applicationyml 应放在 / 目录;
需要注意的是,自动加载 applicationyml 的位置并不与 jar 包相关,而是与 java 命令有关。
通过 --springconfiglocation 参数可以指定配置文件的位置。
java -jar /abc/xxxjar --springconfiglocation=/abc/applicationyml
本文详细介绍配置中心客户端使用方法,
即Config Client到Config Server读取配置,
这里以创建Config Client服务为例,
基于已经创建好的Config Server模块,
请参考 SpringCloud创建Config模块 ,
到配置中心读取配置。
在父工程下面创建一个Maven模块config-client,
在pomxml中增加config client的依赖:
其中spring-boot-starter-web是spring boot应用,
可以对外提供Rest服务,
下面会通过Rest接口查询客户端读取到的配置。
新增配置文件bootstrapyml:
上面的springcloudconfig配置,
指定了配置中心 >
以上就是关于关于spring boot 缓存application.yml文件的配置全部的内容,包括:关于spring boot 缓存application.yml文件的配置、如何获取spring boot application.yml里面的值、单体Spring boot引入外部配置文件yml,properties等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)