前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第七节:SpringBoot高级属性配置二

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

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

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

配置随机数

代码语言:txt
复制
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
复制
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
复制
com.rumenz.id[0]=1
com.rumenz.id[1]=2
com.rumenz.id[2]=3
com.rumenz.uid=1,2,3,4

测试案例

代码语言:txt
复制
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
复制
com.rumenz.map={name:'rumenz.com',age:10}

测试案例

代码语言:txt
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置随机数
  • List类型
  • Map类型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档