Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >第七节:SpringBoot高级属性配置二

第七节:SpringBoot高级属性配置二

原创
作者头像
入门笔记
发布于 2022-02-04 07:47:55
发布于 2022-02-04 07:47:55
1390
举报
文章被收录于专栏:入门小站入门小站

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

配置随机数

代码语言:txt
AI代码解释
复制
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]}

测试案例

代码语言:txt
AI代码解释
复制
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")
    @ResponseBody
    public 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中配置

代码语言:txt
AI代码解释
复制
com.rumenz.id[0]=1
com.rumenz.id[1]=2
com.rumenz.id[2]=3
com.rumenz.uid=1,2,3,4

测试案例

代码语言:txt
AI代码解释
复制
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<Integer> id;

    public List<Integer> getId() {
        return id;
    }

    public void setId(List<Integer> id) {
        this.id = id;
    }
    
   
    //逗号分隔
    @Value("#{'${com.rumenz.uid}'.split(',')}")
    private List<Integer> uidList;


    @RequestMapping("/index1")
    @ResponseBody
    public String index1(){
        //配置文件中的随机值
        return getId().toString();
    }

    @RequestMapping("/index2")
    @ResponseBody
    public 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中配置

代码语言:txt
AI代码解释
复制
com.rumenz.map={name:'rumenz.com',age:10}

测试案例

代码语言:txt
AI代码解释
复制
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<String,String> map;

    @RequestMapping("/index3")
    @ResponseBody
    public String index3(){
        //配置文件中的随机值
        return map.toString();
    }

}

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

本小结源码地址:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
第七节: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.
入门笔记
2022/06/02
2080
第八节:SpringBoot指定配置文件配置三
SpringBoot配置属性的规则 通过.分离各个元素 最后一个.将前缀与属性名称分开 必须是字母(az)和数字(0-9) 必须是小写字母 用连字符-来分隔单词 唯一允许的其他字符是和,用于List的索引 不能以数字开头 相同的配置项 Spring Boot 2.x 加载配置文件的时候会移除特殊字符并且还会将配置均用全小写的方式进行匹配和加载。 application.propertiescom.rumenz.id-name=rumenz com.rumenz.id_name=rumenz com.rume
入门笔记
2022/02/08
6960
第八节:SpringBoot指定配置文件配置三
第六节:SpingBoot基本配置一
SpringBoot默认的配置文件为application.properties或者application.yml,应用启动时会自动加载此文件,无需手动引入。 自定义属性 在application.properties中定义属性值 #自定义属性 rumenz.name=rumenz rumenz.url=https://rumenz.com 通过@Value注解来获取值 @RestController @RequestMapping("/rumenz") public class RumenzControl
入门笔记
2022/01/29
2560
第六节:SpingBoot基本配置一
第四节:SpringBoot中web模版数据渲染展示
在第一节我们演示通过接口返回数据,数据没有渲染展示在页面上 。在这里我们演示一下从后台返回数据渲染到前端页面的项目案例. 模板引擎 SpringBoot是通过模版引擎进行页面结果渲染的,官方提供预设配置的模版引擎主要有 Thymeleaf FreeMarker Velocity Groovy Mustache 我们在这里演示使用Thymeleaf和FreeMarker模板引擎。 Thymeleaf Thymeleaf是适用于 Web 和独立环境的现代服务器端 Java 模板引擎。 Thymeleaf 的主要
入门笔记
2022/01/24
3780
第四节:SpringBoot中web模版数据渲染展示
第一节:创建SpringBoot项目并运行HelloWorld
什么是SpringBoot SpringBoot和Spring的关系 SpringBoot的优点 开发环境 先创建一个父工程 创建一个SpringBoot项目 创建入门的Hello World程序 启动项目 浏览器访问http://127.0.0.1:8080/ SpingBoot 365计划开始更新了,计划手敲365个SpringBoot案例回顾总结形成知识体系。目前已经输出了32节的内容。所有源码托管在GitHub和Gitee上。 1.第一节:创建SpringBoot项目并运行HelloWorld.md
入门笔记
2022/06/02
5830
第一节:创建SpringBoot项目并运行HelloWorld
第十四节:SpringBoot使用JdbcTemplate访问操作数据库基本用法
Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。 JdbcTemplate在Spring-jdbc包下面,还需要Spring-tx包支持,里面包含事务和异常控制. 建一个rumenz_springboot库 创建user表 create table user( id int primary key auto_increment, name varchar(100) not null default '
入门笔记
2022/02/21
3480
第十四节:SpringBoot使用JdbcTemplate访问操作数据库基本用法
第十五节:SpringBoot使用JPA访问数据库
JPA是Java Persistence API的简写,是官方提出的一种ORM规范! JPA规范,都在包路径:javax.persistence.*下,像一些常用的如:@Entity、@Id及@Transient都在此路径下。这些也是一些现在市面上常用的ORM一些约定俗成的注解了。 Spring Data JPA是Spring基于Hibernate开发的一个JPA框架。可以极大的简化JPA的写法,可以在几乎不用写具体代码的情况下,实现对资料的访问和操作。除了「CRUD」外,还包括如分页、排序等一些常用的功能
入门笔记
2022/02/23
7570
第十五节:SpringBoot使用JPA访问数据库
7-SpringBoot配置-获取数据
在上一篇中,我们已经知道了SpringBoot的配置文件如何设置。并且知道不单单可以配置 SpringBoot 框架定义的参数,还可以设置我们自定义的参数。
Devops海洋的渔夫
2022/03/23
3630
7-SpringBoot配置-获取数据
第十节:SpringBoot中的日志管理
系列文章 第一节:创建SpringBoot项目并运行HelloWorld 第二节:SpingBoot单元测试 第三节:SpringBoot中web项目推荐目录结构 第四节:SpringBoot中web模版数据渲染展示 第五节:SpringBoot常用注解介绍 第六节:SpingBoot基本配置一 第七节:SpringBoot高级属性配置二 第八节:SpringBoot指定配置文件配置三 第九节:SpringBoot在线文档Swagger2入门 SpringBoot默认使用的日志框架是logback 。sp
入门笔记
2022/06/02
3580
第十节:SpringBoot中的日志管理
第一节:创建SpringBoot项目并运行HelloWorld
什么是SpringBoot Spring Boot是Pivotal于 2014年开发的开源 Java 框架,简化了部署 Java 企业 Web 应用程序的任务。它是一个构建在 Spring 框架之上的项目,它简化了Java开发。 SpringBoot和Spring的关系 [img] SpringBoot的优点 快速轻松地开发基于 Spring 的应用程序; 无需部署war文件; 帮助将 Tomcat、Jetty 或 Undertow 直接嵌入到应用程序中; 无需 XML 配置 上面简单介绍了SpringBo
入门笔记
2022/01/15
1.1K0
第一节:创建SpringBoot项目并运行HelloWorld
第十节:SpringBoot中的日志管理
SpringBoot默认使用的日志框架是logback 。spring-boot-starter中包含了spring-boot-starter-logging模块。该日志框架就是logback。所以我们也不需要单独引入spring-boot-starter-logging模块。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId
入门笔记
2022/02/12
5620
第十节:SpringBoot中的日志管理
【SpringBoot】从零开始全面解析SpringMVC (二)
Ⅰ JSON概念 JSON:JavaScript Object Notation 【JavaScript 对象表示法】
用户11369350
2025/05/17
1060
【SpringBoot】从零开始全面解析SpringMVC (二)
SpringBoot2.0 基础案例(03):配置系统全局异常映射处理
业务异常主要是一些可预见性异常,处理业务异常,用来提示用户的操作,提高系统的可操作性。
知了一笑
2019/07/19
5490
第五节:SpringBoot常用注解介绍
TOC 启动类上的注解 @SpringBootApplication这个注解会在SpringBoot启动类上。这个注解实际上包含3个注解@SpringBootConfiguration,@EnableAutoConfiguration和@ComponentScan @SpringBootConfiguration继承@Configuration两个注解的功能一样。也就是标注当前类是配置类。会将当前类中声明的一个或者多个@Bean注解标记的方法的实例注入到Spring容器中。实例名就是对象名。 @Enable
入门笔记
2022/01/27
6000
第五节:SpringBoot常用注解介绍
第五节:SpringBoot常用注解介绍
启动类上的注解 @SpringBootApplication这个注解会在SpringBoot启动类上。这个注解实际上包含3个注解@SpringBootConfiguration,@EnableAutoConfiguration和@ComponentScan @SpringBootConfiguration继承@Configuration两个注解的功能一样。也就是标注当前类是配置类。会将当前类中声明的一个或者多个@Bean注解标记的方法的实例注入到Spring容器中。实例名就是对象名。 @EnableAuto
入门笔记
2022/06/02
5530
第九节:SpringBoot在线文档Swagger2入门
Swagger2 是一个开源项目,用于为 RESTful Web 服务生成 REST API 文档。它提供了一个用户界面,可以通过 Web 浏览器访问我们的 RESTful Web 服务,测试接口。 SpringBoot集成Swagger2 3.0以下版本 pom.xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </
入门笔记
2022/02/10
4590
第十三节:使用Lombok简化你的代码
TOC 在开发过程中,通常都会定义大量的JavaBean,然后通过IDE去产生其属性的构造器、getter、setter、equals、hashcode、toString方法,当要增加属性或者对某个属性进行改变时,比如命名、类型等,都需要重新去产生上面提到的这些方法。这样重复的劳动没有任何意义,Lombok里面的注解可以轻松解决这些问题。 官方地址:https://projectlombok.org/ github地址:https://github.com/rzwitserloot/lombok lombo
入门笔记
2022/02/18
5540
第十三节:使用Lombok简化你的代码
详解Intellij IDEA搭建SpringBoot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
Java团长
2018/10/18
3.3K0
详解Intellij IDEA搭建SpringBoot
_Spring Boot中配置文件介绍及其使用教程
如果我们想要查找配置文件如何覆盖SpringBoot项目的默认配置,那么可以查看下面链接:
会洗碗的CV工程师
2023/11/18
2570
_Spring Boot中配置文件介绍及其使用教程
springboot连接mysql数据库测试
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/152889.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/12
2.6K0
相关推荐
第七节:SpringBoot高级属性配置二
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档