SpringBoot的配置文件中,除了前面讲的基本配置方式。还可以配置List,Map,随机值等高级数据类型

配置随机数

com.rumenz.random=${random.value}
com.rumenz.num=${random.int}
com.rumenz.long.val=${random.long}
com.rumenz.uuid=${random.uuid}
com.rumenz.range=${random.int[100,1000]}

测试案例

package com.rumenz.lession7.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/*** @className: RumenzController* @description: TODO 类描述* @author: 入门小站 rumenz.com* @date: 2021/11/6**/@Controller
@RequestMapping("/rumenz")
public class RumenzController {@Value("${com.rumenz.random}")private String random;@Value("${com.rumenz.num}")private Integer num;@Value("${com.rumenz.long.val}")private Long longVal;@Value("${com.rumenz.uuid}")private String uuid;@Value("${com.rumenz.range}")private Integer range;@RequestMapping("/index")@ResponseBodypublic String index(){//配置文件中的随机值String res=String.format("random %s num %d longVal %d uuid %s range %d",random,num,longVal,uuid,range);return res;}}

浏览器访问http://127.0.0.1:8080/rumenz/index返回random b92abe98c8eae52089dd78ae24fd47f5 num 354638503 longVal -7870587366296902654 uuid b3994be3-c183-4e2b-a375-55e27c28faef range 929

List类型

application.properties中配置

com.rumenz.id[0]=1
com.rumenz.id[1]=2
com.rumenz.id[2]=3
com.rumenz.uid=1,2,3,4

测试案例

package com.rumenz.lession7.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.List;
import java.util.Map;/*** @className: RumenzController* @description: TODO 类描述* @author: 入门小站 rumenz.com* @date: 2021/11/6**/@Controller
@RequestMapping("/rumenz")
@ConfigurationProperties(prefix = "com.rumenz")
public class RumenzController {//下标配置的数组值注入private List id;public List getId() {return id;}public void setId(List id) {this.id = id;}//逗号分隔@Value("#{'${com.rumenz.uid}'.split(',')}")private List uidList;@RequestMapping("/index1")@ResponseBodypublic String index1(){//配置文件中的随机值return getId().toString();}@RequestMapping("/index2")@ResponseBodypublic String index2(){//配置文件中的随机值return uidList.toString();}
}

访问http://127.0.0.1:8080/rumenz/index1返回[1, 2, 3]

访问http://127.0.0.1:8080/rumenz/index2返回[1, 2, 3, 4]

Map类型

application.properties中配置

com.rumenz.map={name:'rumenz.com',age:10}

测试案例

package com.rumenz.lession7.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.List;
import java.util.Map;/*** @className: RumenzController* @description: TODO 类描述* @author: 入门小站 rumenz.com* @date: 2021/11/6**/@Controller
@RequestMapping("/rumenz")
@ConfigurationProperties(prefix = "com.rumenz")
public class RumenzController {@Value("#{${com.rumenz.map}}")private Map map;@RequestMapping("/index3")@ResponseBodypublic String index3(){//配置文件中的随机值return map.toString();}}

访问http://127.0.0.1:8080/rumenz/index3返回{name=rumenz.com, age=10}

本小结源码地址:

  • GitHub:https://github.com/mifunc/springboot/tree/main/lession7
  • Gitee:https://gitee.com/rumenz/springboot/tree/master/lession7
  • https://rumenz.com/rumenbiji/springboot-advanced-config.html

介绍

  • 我的博客 https://rumenz.com/
  • 我的工具箱 https://tooltt.com/
  • 微信公众号:【入门小站】

  • 关注【入门小站】回复【1001】获取 linux常用命令速查手册
  • 关注【入门小站】回复【1003】获取 LeetCode题解【java语言实现】
  • 关注【入门小站】回复【1004】获取 Java基础核心总结
  • 关注【入门小站】回复【1009】获取 阿里巴巴Java开发手册

第七节:SpringBoot高级属性配置二相关推荐

  1. 第七节 服务器硬件及RAID配置

    文章目录 第七节 RAID磁盘阵列和Linux详细配置软RAID 一.RAID磁盘阵列 1.1 RAID0概述 1.2 RAID1概述 1.3 RAID5概述 1.4 RAID6概述 1.5 RAID ...

  2. 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性)

    一. 简介 上一个章节中,也介绍了立即加载和延迟加载,但上一个章节是针对单表而言的,不含外键,立即也好,延迟也好,都是指单表中的数据.但本章节重点介绍的三种加载方式均是针对含(导航属性.外键)的情况下 ...

  3. win10网卡高级属性配置图解_简单设置,win10再也不会断网了

    你多朋友反应win10会频繁断网,无任何规律.这也是导致很多人反感win10的原因之一.我百度了一下这个问题,解决问题的方法基本上都是关闭省电模式,重装网卡驱动之类的答案.但都解决不了根本问题. 虽然 ...

  4. 第五节: EF高级属性(一) 之 本地缓存、立即加载、延迟加载(不含导航属性)

    一. 本地缓存 从这个章节开始,介绍一下EF的一些高级特性,这里介绍的首先介绍的EF的本地缓存,在前面的"EF增删改"章节中介绍过该特性(SaveChanges一次性会作用于本地缓 ...

  5. spring boot学习(2) SpringBoot 项目属性配置

    第一节:项目内置属性 application.properties配置整个项目的,相当于以前的web.xml: 注意到上一节的访问HelloWorld时,项目路径也没有加:直接是http://loca ...

  6. SpringBoot项目属性配置

    我们知道,在项目中,很多时候需要用到一些配置的东西,这些东西可能在测试环境和生产环境下会有不同的配置,后面也有可能会做修改,所以我们不能在代码中写死,要写到配置中.我们可以把这些内容写到applica ...

  7. springboot教程-web(二)

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 第一节 现在开始springboot-web开发教程. 引入依赖,pom.xml <?xml versio ...

  8. 第十六节 springboot 打包vue代码实现前后端统一部署

    svbadmin学习日志 本学习日志是使用Springboot和Vue来搭建的后台管理系统: 演示地址:http://118.31.68.110:8081/index.html 账号:root 密码: ...

  9. dev项目属性按钮是灰色_Spring Boot 中的项目属性配置

    阅读本文约需要5分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了Spring Boot 如何使用 SLF4J 进行日志记 ...

最新文章

  1. web服务器错误配置文件,web服务器http配置文件
  2. 阿里云OSS上传图片实现流程
  3. 蓝桥杯:基础练习 特殊的数字
  4. c语言循环结构程序设计视频,第13讲:循环结构程序设计1
  5. Android实现圆角照片和圆形照片
  6. android 仿真翻页动画,Android 两Activity之间动画效果(1)---------翻页效果
  7. 数学之美:嵌入式编程凹凸性之妙用(附C代码)
  8. java tcp实现_JAVA 通过 Socket 实现 TCP 编程
  9. 明日之后哪个服务器人最多_明日之后,末日寻宝活动上线,远星城宝箱位置攻略...
  10. 菜鸟的Python学习之路(流水账)
  11. QueryDSL学习记录(持续更新)
  12. MyEclipse里自制JSP模板
  13. 高通BMS的研究 高通电量计
  14. java合并两个excel文件内容_java实现多个excel文件合并成一个excel文件
  15. Ubuntu16.04 cp xorg.conf.failsafe xorg.conf后无法设置分辨率的解决办法
  16. 计算机网络(第7版) - 第五章 运输层 习题答案
  17. C++ new关键字分析
  18. gdata_YouTube GData API和Android
  19. RabbitMQ实战指南之RabbitMQ架构及运转流程
  20. 设计模式六大原则之里氏替换原则、依赖倒置原则详解

热门文章

  1. 多线程编程(2): 线程的创建、启动、挂起和退出
  2. Python之isinstance
  3. [Java] 蓝桥杯ALGO-42 算法训练 送分啦
  4. [Java] 蓝桥杯BASIC-21 基础练习 Sine之舞
  5. 【软件测试】如何用场景法进行黑盒测试
  6. 【note】PAT甲级题目中的单词整理
  7. 蓝桥杯 ADV-136算法提高 大数加法
  8. Google IO 2017为我们带来了什么
  9. 移动硬盘(U盘)病毒对数据的破坏
  10. 心灵探索——我为什么会在家工作