前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springboot中自定义配置

springboot中自定义配置

作者头像
阿超
发布2022-08-16 19:06:57
3230
发布2022-08-16 19:06:57
举报
文章被收录于专栏:快乐阿超

我们不快乐的原因之一,是不知道如何安静地待在房间里,心平气和地与自己相处。——亦舒

例如我们需要进行一些自定义配置写到配置文件中

可以使用@ConfigurationProperties注解

代码语言:javascript
复制
package com.ruben.pojo;

import com.ruben.enumeration.GenderEnum;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * @ClassName: RubenProperties
 * @Description: ruben配置类
 * @Date: 2021/2/16 0016 11:40
 * *
 * @author: <achao1441470436@gmail.com>
 * @version: 1.0
 * @since: JDK 1.8
 */
@Data
@Component
@ConfigurationProperties(prefix = "ruben")
public class RubenProperties {
    private Integer number;
    private String avatar;
    private GenderEnum gender;
    private List<String> hobby;
    private Map<String, Object> introduce;
}

这里枚举GenderEnum

代码语言:javascript
复制
@Getter
@AllArgsConstructor
public enum GenderEnum {

    FEMALE("女", 0),
    MALE("男", 1);

    private final String name;
    private final Integer code;

}

然后yml中对应配置写法

代码语言:javascript
复制
ruben:
  number: 4444
  avatar: https://waibi.oss-cn-chengdu.aliyuncs.com/2020-06-01/head.jpg
  gender: male
  hobby: ["游戏","动漫","编程"]
  introduce: {"food": "blood","programLanguage": "java"}

我们编写一个测试类测试

代码语言:javascript
复制
package com.ruben;

import com.ruben.pojo.RubenProperties;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;

import javax.annotation.Resource;
import java.util.Map;

/**
 * @ClassName: PropertiesDemo
 * @Description: 我还没有写描述
 * @Date: 2021/2/16 0016 11:29
 * *
 * @author: <achao1441470436@gmail.com>
 * @version: 1.0
 * @since: JDK 1.8
 */
@Slf4j
@SpringBootTest
public class PropertiesDemo {

    @Resource
    private RubenProperties rubenProperties;

    @Test
    public void test() {
        log.info(rubenProperties.toString());
    }

}

运行结果

image-20210216123101192
image-20210216123101192
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档