第七节:SpringBoot高级属性配置二
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高级属性配置二相关推荐
- 第七节 服务器硬件及RAID配置
文章目录 第七节 RAID磁盘阵列和Linux详细配置软RAID 一.RAID磁盘阵列 1.1 RAID0概述 1.2 RAID1概述 1.3 RAID5概述 1.4 RAID6概述 1.5 RAID ...
- 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性)
一. 简介 上一个章节中,也介绍了立即加载和延迟加载,但上一个章节是针对单表而言的,不含外键,立即也好,延迟也好,都是指单表中的数据.但本章节重点介绍的三种加载方式均是针对含(导航属性.外键)的情况下 ...
- win10网卡高级属性配置图解_简单设置,win10再也不会断网了
你多朋友反应win10会频繁断网,无任何规律.这也是导致很多人反感win10的原因之一.我百度了一下这个问题,解决问题的方法基本上都是关闭省电模式,重装网卡驱动之类的答案.但都解决不了根本问题. 虽然 ...
- 第五节: EF高级属性(一) 之 本地缓存、立即加载、延迟加载(不含导航属性)
一. 本地缓存 从这个章节开始,介绍一下EF的一些高级特性,这里介绍的首先介绍的EF的本地缓存,在前面的"EF增删改"章节中介绍过该特性(SaveChanges一次性会作用于本地缓 ...
- spring boot学习(2) SpringBoot 项目属性配置
第一节:项目内置属性 application.properties配置整个项目的,相当于以前的web.xml: 注意到上一节的访问HelloWorld时,项目路径也没有加:直接是http://loca ...
- SpringBoot项目属性配置
我们知道,在项目中,很多时候需要用到一些配置的东西,这些东西可能在测试环境和生产环境下会有不同的配置,后面也有可能会做修改,所以我们不能在代码中写死,要写到配置中.我们可以把这些内容写到applica ...
- springboot教程-web(二)
撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 第一节 现在开始springboot-web开发教程. 引入依赖,pom.xml <?xml versio ...
- 第十六节 springboot 打包vue代码实现前后端统一部署
svbadmin学习日志 本学习日志是使用Springboot和Vue来搭建的后台管理系统: 演示地址:http://118.31.68.110:8081/index.html 账号:root 密码: ...
- dev项目属性按钮是灰色_Spring Boot 中的项目属性配置
阅读本文约需要5分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了Spring Boot 如何使用 SLF4J 进行日志记 ...
最新文章
- web服务器错误配置文件,web服务器http配置文件
- 阿里云OSS上传图片实现流程
- 蓝桥杯:基础练习 特殊的数字
- c语言循环结构程序设计视频,第13讲:循环结构程序设计1
- Android实现圆角照片和圆形照片
- android 仿真翻页动画,Android 两Activity之间动画效果(1)---------翻页效果
- 数学之美:嵌入式编程凹凸性之妙用(附C代码)
- java tcp实现_JAVA 通过 Socket 实现 TCP 编程
- 明日之后哪个服务器人最多_明日之后,末日寻宝活动上线,远星城宝箱位置攻略...
- 菜鸟的Python学习之路(流水账)
- QueryDSL学习记录(持续更新)
- MyEclipse里自制JSP模板
- 高通BMS的研究 高通电量计
- java合并两个excel文件内容_java实现多个excel文件合并成一个excel文件
- Ubuntu16.04 cp xorg.conf.failsafe xorg.conf后无法设置分辨率的解决办法
- 计算机网络(第7版) - 第五章 运输层 习题答案
- C++ new关键字分析
- gdata_YouTube GData API和Android
- RabbitMQ实战指南之RabbitMQ架构及运转流程
- 设计模式六大原则之里氏替换原则、依赖倒置原则详解