springboot中自定义配置

简介: springboot中自定义配置

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

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

可以使用@ConfigurationProperties注解

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

@Getter
@AllArgsConstructor
public enum GenderEnum {
    FEMALE("女", 0),
    MALE("男", 1);
    private final String name;
    private final Integer code;
}

然后yml中对应配置写法

ruben:
  number: 4444
  avatar: /imgs/oss/2020-06-01/head.jpg
  gender: male
  hobby: ["游戏","动漫","编程"]
  introduce: {"food": "blood","programLanguage": "java"}

我们编写一个测试类测试

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());
    }
}

运行结果

相关文章
|
SQL 关系型数据库 MySQL
SpringBoot自定义配置注入的方式:自定义配置文件注入,从mysql读取配置进行注入
SpringBoot自定义配置注入的方式:自定义配置文件注入,从mysql读取配置进行注入
302 0
|
6月前
|
Java 数据库连接 Maven
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
SpringBoot【付诸实践 01】SpringBoot自定义starter保姆级教程(说明+源码+配置+测试)
69 1
|
6月前
|
Java 数据库连接 Spring
面试题:springboot的自定义配置有哪些
面试题:springboot的自定义配置有哪些
46 0
|
6月前
|
Java
springboot WebMvcConfigurer详解自定义配置请求静态资源
springboot WebMvcConfigurer详解自定义配置请求静态资源
158 0
|
Java 容器
SpringBoot中的yml文件中读取自定义配置信息
SpringBoot中的yml文件中读取自定义配置信息
182 0
|
安全 Java Spring
SpringBoot整合Spring Security,自定义登录成功/失败处理器,配置登录人数(三)
一般采用的是实现接口的方式:implements AuthenticationSuccessHandler 但是如果想要实现登录成功后跳转回登录前的页面可以直接继承SavedRequestAwareAuthenticationSuccessHandler这个类,该类的父类SimpleUrlAuthenticationSuccessHandler实现了AuthenticationSuccessHandler。
311 0
|
前端开发 Java Nacos
《SpringBoot系列三》:自定义配置时@Value和@ConfigurationProperties孰优孰劣?
《SpringBoot系列三》:自定义配置时@Value和@ConfigurationProperties孰优孰劣?
711 1
《SpringBoot系列三》:自定义配置时@Value和@ConfigurationProperties孰优孰劣?
|
Dubbo Java 应用服务中间件
SpringBoot整合Dubbo的第二种方式——API(自定义Configuration配置类)
SpringBoot整合Dubbo的第二种方式——API(自定义Configuration配置类)
SpringBoot整合Dubbo的第二种方式——API(自定义Configuration配置类)
|
JSON 架构师 Java
SpringBoot从小白到精通(三)系统配置及自定义配置
前面介绍了Spring的@Controller和@RestController控制器, 他们是如何响应客户端请求,如何返回json数据。 今天来说一说SpringBoot的application.properities的相关配置属性和如何自定义配置文件。
SpringBoot从小白到精通(三)系统配置及自定义配置
SpringBoot自定义banner,配置端口号和项目路径(二)下
SpringBoot自定义banner,配置端口号和项目路径(二)
216 0
SpringBoot自定义banner,配置端口号和项目路径(二)下