spring boot中自定义properties文件并获取内容

最近项目中使用到了spring boot,这次带来点关于spring boot中properties文件的使用方法

 

首先你可以定义一个properties文件,如下所示:

Java代码   收藏代码
  1. // 文件名可以自行定义,这里名为uploaddefine.properties  
  2. upload.image[JPG]=.jpg  
  3. upload.image[PNG]=.png  
  4. upload.office[CSV]=.csv  
  5. upload.office[EXCEL]=.excel  
  6. upload.text[txt]=.txt  
  7. upload.text[epub]=.epub  

在这个文件中,我们定义了三个大类,分别为image、office、text

我们的目标是能够让程序自动读取我们定义的文件内容,下面是具体实现。

 

首先,在类上要表明的注解为:

Java代码   收藏代码
  1. @Configuration  
  2. @ConfigurationProperties(prefix = "upload")  
  3. @PropertySource("classpath:uploaddefine.properties")  
  4. public class UploadDefineConfig {  
  5.       omitted......  
  6. }  

 这样一来就能是程序自动读取我们的配置文件,

@ConfigurationProperties(prefix = "upload"):读取前缀为 upload 的内容

@PropertySource("classpath:uploaddefine.properties"):定义了要读取的properties文件的位置

 

接下来就需要将内容读到我们事先定义好了的集合中了:

Java代码   收藏代码
  1. public static Map<String, String> image = new HashMap<>();  
  2. public static Map<String, String> office = new HashMap<>();  
  3. public static Map<String, String> text = new HashMap<>();  
  4.   
  5. //注意需要添加get/set方法,并且这两个方法不能为static   

我们将Map定义为了static是为了方便使用,你也可以使用非静态形式的。

 

请注意,我们将每一个Map对象的名字定义成了properties中prefix之后的名字,只有这样才能够让程序自动将properties文件的内容添加到我们的Map对象之中。

 

此时,我们的自定义properties文件就大功告成了!快点来试一下吧!

我们通过一个http请求来获取这些内容,下面是返回的结果:

Java代码   收藏代码
  1. {  
  2.     "image": {  
  3.         "JPG"".jpg",  
  4.         "PNG"".png"  
  5.     },  
  6.     "office": {  
  7.         "EXCEL"".excel",  
  8.         "CSV"".csv"  
  9.     },  
  10.     "text": {  
  11.         "txt"".txt",  
  12.         "epub"".epub"  
  13.     }  
  14. }  

 可以看到我们的内容已经成功的被读取出来了,很简单吧

 

如果你不想用这种K-V形式,而是直接一个List<String>获取所有的值的话,也很简单

只要在properties中这样定义即可:

Java代码   收藏代码
  1. my.servers[0]=127.0.0.1:8080  
  2. my.servers[1]=127.0.0.1:8081  
  3. my.servers[2]=127.0.0.1:8082  
  4.   
  5. // 在class文件中,则需要这样  
  6. public static List<String> servers = new ArrayList<>();  

 

对于中小型的项目,十分推荐spring boot,远离配置地狱

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.1 前言 1.2 资料官网 1.3 spring boot起步之Hello World 1.4 Spring Boot返回json数据 1.5 Spring Boot热部署 1.6 Spring Boot使用别的json解析框架 1.7 全局异常捕捉 1.8 Spring Boot datasource - mysql 1.9 JPA - Hibernate 1.10 使用JPA保存数据 1.11 使用JdbcTemplate 1.12 Spring Boot修改端口号 1.13 Spring Boot配置ContextPath 1.14 Spring Boot改变JDK编译版本 1.15 处理静态资源(默认资源映射) 1.16 处理静态资源(自定义资源映射) 1.17 Spring Boot定时任务的使用 1.18 Spring Boot使用Druid和监控配置 1.19 Spring Boot使用Druid(编程注入) 1.20 Spring Boot普通类调用bean 1.21 使用模板(thymeleaf-freemarker) 1.22 Spring Boot 添加JSP支持 1.23 Spring Boot Servlet 1.24 Spring Boot过滤器、监听器 1.25 Spring Boot 拦截器HandlerInterceptor 1.26 Spring Boot启动加载数据CommandLineRunner 1.27 Spring Boot环境变量读取和属性对象的绑定 1.28 Spring Boot使用自定义properties 1.29 改变自动扫描的包 1.30 Spring Boot Junit单元测试 1.31 SpringBoot启动时的Banner设置 1.32 Spring boot 文件上传(多文件上传) 1.33 导入时如何定制spring-boot依赖项的版本 1.34 Spring Boot导入XML配置 1.35 Spring Boot使用@SpringBootApplication注解 1.36 Spring Boot 监控和管理生产环境 1.37 Spring Boot的启动器Starter详解 1.38 Spring Boot集成Redis实现缓存机制 1.39 Spring Boot Cache理论篇 1.40 Spring Boot集成EHCache实现缓存机制 1.41 Spring Boot分布式Session状态保存Redis 1.42 Spring Boot Shiro权限管理 1.43 Spring Boot Shiro权限管理 1.44 Spring Boot Shiro权限管理 1.45 Spring Boot Shiro权限管理

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值