在我们的开发中,有很多配置文件是需要分开配置的,例如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文件相关推荐

  1. application.xml加载多个properties 文件 报错 “Could not resolve placeholder ‘xxx‘ in string value “${xxx}“

    确认下是否在context的配置中配置了对应properties文件的路径(location),例如 <context:property-placeholder location="c ...

  2. springboot 加载一个properties文件转换为对象、List和Map数据结构

    springboot 加载一个properties文件转换为对象.List和Map数据结构 一.springboot 加载一个properties文件转换为对象 1.1.配置文件-blog.prope ...

  3. SpringBoot 加载不出来application.yml文件

    摘要 记录一次SpringBoot加载不出来application.yml文件的问题解决过程 问题 配置了application.yml文件,但是映射到properties bean的时候失败 @Co ...

  4. BundleLoader:帮你无缝加载自定义Bundle里的资源文件

    引子 iOS开发中,我们封装SDK给第三方使用通常采用.a或.framework + .bundle的形式.相信封装过这种带bundle资源文件的SDK的同学们一定都会遇到这样一个小麻烦.那就是加载自 ...

  5. java加载字体文件_Java的加载自定义字体文件(.TTF)

    我在下面这段代码中使用,并将其与该堆栈跟踪出现:Java的加载自定义字体文件(.TTF) java.io.FileNotFoundException: font.ttf (No such file o ...

  6. cad2006激活未找到html文件,解决cad提示“cad加载自定义文件失败 未找到acad”的方法...

    下图所示的提示界面大家是不是觉得很熟悉呢?这个错误提示是出现在autocad程序中的错误之一.相比无法安装等情况这个故障的解决方法比较简单,首先我们来看看具体故障:有用户在双击打开Autocad的时候 ...

  7. springboot 加载配置信息(静态)

    springboot 加载配置信息(静态) 举例:动态设置验证码过期时间 application-uat.properties配置(文件路径:/src/main/resources/applicati ...

  8. SpringBoot加载spring.factories的价值

    SpringBoot加载spring.factories的价值 在springboot的各个依赖包下,我们经常看到META-INF/spring.factories这个文件.spring.factor ...

  9. ansj添加自定义词典以及解决ansj加载自定义词典不起作用问题

    pom文件中添加 <!-- Ansj中文分词--><dependency><groupId>org.ansj</groupId><artifact ...

最新文章

  1. Linux编译器GCC的使用
  2. 技术图文:Python的属性装饰器详解
  3. dbgridview内操作粘贴,复制,等量复制,增量复制
  4. 从github下载项目并导入eclipse
  5. 安卓拒绝服务漏洞分析及漏洞检测
  6. 重温.NET下Assembly的加载过程
  7. Honeywords项目——检查密码是否被破解的一种简单方法
  8. 用Win2003做×××借线
  9. python数据分析工具_python数据分析工具 | pandas
  10. python 数据类笔试题_数据分析岗Python笔试题
  11. 阅读乔布斯:一个人留下的世界
  12. 将经纬度转换为以度为单位的xy坐标
  13. 基于Diffie-Hellman协议 的安全密钥交换的实现原理
  14. 老生常谈:frame和Bounds的区别
  15. PV、UV、访问次数、跳出率、转化率、平均访问时长
  16. Geometric deep learning: going beyond Euclidean data译文
  17. 个人股权能转让给别人吗
  18. 苹果手机投影_会议室投影机最常用的一款无线投影解决方案,操作便捷,运行稳定且不需要装软件...
  19. Java hashCode是什么
  20. 支付宝手机网站支付示例

热门文章

  1. 人工智能的定义与发展史
  2. Japan POJ - 3067
  3. 随机模拟在多排服务器上的应用,在Excel中应用随机函数模拟多服务台单队列排队系统...
  4. firebox 浏览器查看cookie的方法
  5. 【Lintcode】1645. Least Subsequences
  6. CentOS命令行清空文件内容
  7. 使用win10自带功能,横屏、竖屏显示器分别设置壁纸
  8. 微信小程序登录 获取头像不显示
  9. 无人船成渡过大西洋将来发展又会如何?
  10. Emotiv EPOCFLEX 32导脑电仪数据准确导入EEGLAB