springboot-加载自定义的properties文件
在我们的开发中,有很多配置文件是需要分开配置的,例如kafka.properties,amq.properties等,那这些自定义的配置文件,怎么加载到对应的类里面了,下面就来说说这个问题。
在src/main/resources目录下新建一个config文件夹,用来存放我们的properties文件。目录结构如下:
user.properties配置文件内容如下:
com.chhliu.springboot.author=xyy
com.chhliu.springboot.age=${com.chhliu.age}
com.chhliu.springboot.sex=woman
com.chhliu.springboot.time=20170123
com.chhliu.age=27
对应的配置类如下:
public class ConfigProperties {private String author;private int age;private String sex;private String time;public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getTime() {return time;}public void setTime(String time) {this.time = time;}@Overridepublic String toString() {return "ConfigProperties [author=" + author + ", age=" + age + ", sex=" + sex + ", time=" + time + "]";}
}
我们怎么来将配置文件里面对应的属性注入到类中了,方法有二
1、过时方法
1.1 在ConfigProperties类上加上如下注解:
@ConfigurationProperties(locations="classpath:config/user.properties", prefix="com.chhliu.springboot")
其中locations属性用来指定配置文件的位置,prefix用来指定properties配置文件中的key前缀
1.2 在主类上加入配置支持
@EnableConfigurationProperties(ConfigProperties.class)
这样就可以将properties配置文件中的值注入到类中对应的属性上去了,但是上面的这种方式已经被标注为过时了,在新的版本中是不可用的。
2、替代方法
1.1 在ConfigProperties类上加上如下注解:
@Component// 以组件的方式使用,使用的时候可以直接注入
@ConfigurationProperties(prefix="com.chhliu.springboot")// 用来指定properties配置文件中的key前缀
@PropertySource("classpath:config/user.properties")// 用来指定配置文件的位置
1.2 关闭配置属性的支持
这一步就是将主类上的@EnableConfigurationProperties这个注解注释调,不让springboot自动配置,使用我们的手动配置
3、测试结果
ConfigProperties [author=xyy, age=27, sex=woman, time=20170123]
从上面的测试结果,可以看出,配置生效了。
springboot-加载自定义的properties文件相关推荐
- application.xml加载多个properties 文件 报错 “Could not resolve placeholder ‘xxx‘ in string value “${xxx}“
确认下是否在context的配置中配置了对应properties文件的路径(location),例如 <context:property-placeholder location="c ...
- springboot 加载一个properties文件转换为对象、List和Map数据结构
springboot 加载一个properties文件转换为对象.List和Map数据结构 一.springboot 加载一个properties文件转换为对象 1.1.配置文件-blog.prope ...
- SpringBoot 加载不出来application.yml文件
摘要 记录一次SpringBoot加载不出来application.yml文件的问题解决过程 问题 配置了application.yml文件,但是映射到properties bean的时候失败 @Co ...
- BundleLoader:帮你无缝加载自定义Bundle里的资源文件
引子 iOS开发中,我们封装SDK给第三方使用通常采用.a或.framework + .bundle的形式.相信封装过这种带bundle资源文件的SDK的同学们一定都会遇到这样一个小麻烦.那就是加载自 ...
- java加载字体文件_Java的加载自定义字体文件(.TTF)
我在下面这段代码中使用,并将其与该堆栈跟踪出现:Java的加载自定义字体文件(.TTF) java.io.FileNotFoundException: font.ttf (No such file o ...
- cad2006激活未找到html文件,解决cad提示“cad加载自定义文件失败 未找到acad”的方法...
下图所示的提示界面大家是不是觉得很熟悉呢?这个错误提示是出现在autocad程序中的错误之一.相比无法安装等情况这个故障的解决方法比较简单,首先我们来看看具体故障:有用户在双击打开Autocad的时候 ...
- springboot 加载配置信息(静态)
springboot 加载配置信息(静态) 举例:动态设置验证码过期时间 application-uat.properties配置(文件路径:/src/main/resources/applicati ...
- SpringBoot加载spring.factories的价值
SpringBoot加载spring.factories的价值 在springboot的各个依赖包下,我们经常看到META-INF/spring.factories这个文件.spring.factor ...
- ansj添加自定义词典以及解决ansj加载自定义词典不起作用问题
pom文件中添加 <!-- Ansj中文分词--><dependency><groupId>org.ansj</groupId><artifact ...
最新文章
- Linux编译器GCC的使用
- 技术图文:Python的属性装饰器详解
- dbgridview内操作粘贴,复制,等量复制,增量复制
- 从github下载项目并导入eclipse
- 安卓拒绝服务漏洞分析及漏洞检测
- 重温.NET下Assembly的加载过程
- Honeywords项目——检查密码是否被破解的一种简单方法
- 用Win2003做×××借线
- python数据分析工具_python数据分析工具 | pandas
- python 数据类笔试题_数据分析岗Python笔试题
- 阅读乔布斯:一个人留下的世界
- 将经纬度转换为以度为单位的xy坐标
- 基于Diffie-Hellman协议 的安全密钥交换的实现原理
- 老生常谈:frame和Bounds的区别
- PV、UV、访问次数、跳出率、转化率、平均访问时长
- Geometric deep learning: going beyond Euclidean data译文
- 个人股权能转让给别人吗
- 苹果手机投影_会议室投影机最常用的一款无线投影解决方案,操作便捷,运行稳定且不需要装软件...
- Java hashCode是什么
- 支付宝手机网站支付示例