springboot配置单独的参数文件
一、介绍
是不是经常用@Value
注解?用过springboot
的都知道它是从application.properties
文件中引入某个变量的值,是不是已经灰常熟悉了?
默认在springboot
启动后,加载application.properties
文件,通过@Value("${}")
,即可获取到对应的值,使用非常方便。
当然使用久了,发现太多的变量配置到application.properties
文件中,就会想到配置一个自定义参数文件,让@Value("${}")
这样的方式取值不要再从application.properties
中获取,而从自定义的参数文件中获取。
二、理解
实现方法即重新对PropertyPlaceholderConfigurer
类的setLocations()
方法重新指定配置文件路径就可以了。
通过PropertyPlaceholderConfigurer
可以实现将上下文属性信息放在一个properties文件中,同时还可以通过System.setProperty(key, value)
这种方式,给容器传递其他参数。
三、方法
1、加配置类
配置方法和spring
一样,都是通过加配置类,当然springboot
只需要加一个这样的配置类:
import org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;/*** 重新修改@Value注解注入的路径*/
@Configuration
public class ValueConfig {@Beanpublic PreferencesPlaceholderConfigurer getPreferencesPlaceholderConfigurer(){PreferencesPlaceholderConfigurer configurer = new PreferencesPlaceholderConfigurer();Resource resource = new ClassPathResource("/data.properties");configurer.setLocation(resource);return configurer;}
}
其中上边的data.properties
即是新的配置文件路径。
2、加参数文件
然后在resources
下加一个data.properties
文件即可。
最后就可以在data.properties
文件里配置自己的参数。
spring.file.uploadpath=c:/upload/wfvideo
3、使用
使用没有变化,还是使用最方便的@Value("${spring.file.uploadpath}")
方式即可,你会发现配置内容都是从data.prooperties
文件来了,实现了与application.properties
的分离。
四、问题
又回到开始,为什么@Value
注解读配置文件时,会默认从application.properties
来获取呢?它是如何知道它呢?
个人理解:
我还没看源码(看不懂~~),首先application.properties
文件在springboot
启动后,会加载到容器中,里边的配置参数已经进入到spring
上下文,维护进一个地方,并且以map那种形式,key=value
键值对存储。
这时候,你通过对PropertyPlaceholderConfigurer
类的setLocations()
方法重新指定配置文件,并写了一个data.properties
文件,这时候data.properties
里也相当于加入到spring
前边维护配置信息的map中,但是map的特性都知道,如果有重名的key
,那肯定以后者为主。
所以这么看来,并不是@Value
注解,开始就认识application.properties
文件,而是它压根不是从application.properties
文件中获取东西,也不认识application
,而是从它们共同的老板,spring
上下文维护的一个配置类中,类似刚才说到的一个map的东西中找东西,而里边的东西默认是application.properties
文件中填进去的而已。
个人感觉可能是这么回事,可能不对~~~,欢迎评论指导
springboot配置单独的参数文件相关推荐
- 跟着团子学SAP SD-RRB(按资源开票)流程演示及核心配置(DIP参数文件) DP80/DP81/DP90/DP91
在企业的日常销售业务中,有一类常见的销售场景是根据实际消耗的资源(消耗的人工.物料等)为基础去向客户进行开票,比如Time&Material类型的合同.这类业务场景可以统称为RRB的业务模式, ...
- 小觅双目相机自带参数配置ORBSLAM3双目参数文件
ORBSLAM3相机需要的参数 打开/home/knight/ORB_SLAM3/Examples/Stereo/EuRoC.yaml,以这个开源数据集的参数为模板. 1.Camera.type: & ...
- SpringBoot配置多数据源数据库
** 一.SpringBoot + Druid + Mybatisplus 使用注解整合 ** 主要依赖包: spring-boot-starter-web mybatis-plus-boot-sta ...
- SAP-PS-配置篇02-项目参数文件OPSA-基本控制
结合配置篇01项目参数文件的概览,相信你已经了解了个大概,但具体每项是怎么控制项目的什么功能,还是模棱两可. 没关系,咱们慢慢来,一点点来编制属于我们自己的知识图谱. 那么,今天主要总结一下基本控制页 ...
- AG阅读总结10.4.1——参数文件简介
1.参数文件简述: 在oracle数据库中,参数文件包含了所有的数据库配置信息,它非常重要.我认为如果 要把oracle管理好,必须要做到对参数及参数文件的了如指掌.但是,oracle数据库中数据是 ...
- oracle数据库配置助手来初始化参数,使用服务器参数文件(SPFILE)管理初始化参数...
传统上,Oracle数据库的初始化参数存储在文本初始化参数文件中.为了更好的可管理性,您可以选择在二进制服务器参数文件中维护初始化参数,该文件在数据库启动和关闭期间保持不变.本节介绍服务器参数文件,并 ...
- SpringBoot整合nacos实现参数配置
SpringBoot整合nacos实现参数配置 1.nacos安装 2.项目配置 配置文件 3.nacos配置 4.启动 1.nacos安装 首先,这里的版本号用的是linux的1.4.1 链接:ht ...
- aop springboot 传入参数_java相关:springboot配置aop切面日志打印过程解析
java相关:springboot配置aop切面日志打印过程解析 发布于 2020-3-31| 复制链接 摘记: 这篇文章主要介绍了springboot配置aop切面日志打印过程解析,文中通过示例代码 ...
- informatica 参数文件配置
Informatica 中 parameter file 参数文件配置规则: 参数文件的头部内容 [Global] All Integration Services, Integration Serv ...
最新文章
- 记工作中的git遇到的问题
- Flash常用快捷键大全 (hotkey)
- HDU 4609 3-idiots(FFT)
- 前端windows下常用的CMD 命令归纳
- ansible-playbook Roles include
- openCV之中值滤波均值滤波(及代码实现)
- 在构建好XPE操作系统上增加EWF功能
- 谷歌浏览器截取长屏幕(全屏截图)
- 微信小程序实现使用百度云 人脸录入人脸识别功能
- 离线脱机版个人笔记软件的选择
- 微信接口类php,【微信接口库】分享10个常用的php微信接口类
- Tensor.shape[0]的理解
- Git提交记住用户名和密码
- 美通企业日报 | 海信发布中国首款社交电视;阿里与VEX将成立高校机器人联盟...
- 计算机一级考试怎么分栏,全国高等学校计算机等级考试(一级)理论汇总_分栏
- 利用Python与HFSS联合仿真设计一个微带天线
- 为什么说CUDA是NVIDIA的护城河?
- quick-cocos2d-x下载文件
- java正则表达式 n_如何将a^nb^n与Java正则表达式匹配?
- 时间怎么算用计算机,时间的来源、表示、计算机计时和时间校准全面详细分析...
热门文章
- python文本词频统计是什么_python 大批量文本分词 以及词频统计 (高效处理案例)...
- python 编码 解码 读写文件
- sql更改完整模式报错_SQL的完整形式是什么?
- css复选框样式_使用CSS样式复选框
- b树范围查找_使用段树查找最大查询范围
- 你必须知道的session与cookie
- Windows7搭建FTP文件
- excel删除行 uipath_学会这8个Excel神技巧,轻松告别零基础!
- 串的块链存储c语言栈,小蚂蚁学习数据结构(18)——串的块链的代码实现
- xml层级工具_.NET的类型层次查看工具,ClassHierarchyViewer,0.3.0.1