zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【Spring Boot】Spring Boot之自定义配置参数绑定到Java Bean

JAVASpringBoot配置 参数 自定义 绑定 bean
2023-09-14 08:57:35 时间

一、@Value方式

1.我的配置文件:application-dev.yml

# 自定义项目配置
startproject:
  pro1: 11
  pro2: 11
  pro3: 11
  pro4: 11
  lists:
    - '1'
    - '2'
    - '3'
  maps:
    key1: 1
    key2: 2
    key3: 3

2.我的Java Bean

/**
 * @author zhangboqing
 * @date 2018/9/18
 */
@Data
@Configuration
public class CustomCode {

    //====================== 项目配置 ============================

    @Value("${startproject.pro1}")
    private String pro1;
    @Value("${startproject.pro2}")
    private String pro2;
    @Value("${startproject.pro3}")
    private String pro3;
    @Value("${startproject.pro4}")
    private String pro4;
    @Value("${startproject.lists[0]},${startproject.lists[1]},${startproject.lists[2]}")
    private List<String> lists;
//    @Value("${startproject.maps2}") 无法获取到
//    private Map<String,Object> maps;

}

 

二、@ConfigurationProperties方式 (推荐)

1.我的配置文件:application-dev.yml

# 自定义项目配置
startproject:
pro1: 11
pro2: 11
pro3: 11
pro4: 11
lists:
- '1'
- '2'
- '3'
maps:
key1: 1
key2: 2
key3: 3
maps2: {key1: 1,key2: 2,key3: 3}

2.我的Java Bean

/**
 * @author zhangboqing
 * @date 2018/9/18
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "startproject")
public class CustomCode {

    //====================== 项目配置 ============================

    private String pro1;
    private String pro2;
    private String pro3;
    private String pro4;

    private List<String> lists;
    private Map<String,Object> maps;
    private Map<String,Object> maps2;

}