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

Posted 756623607-zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring BootSpring Boot之自定义配置参数绑定到Java Bean相关的知识,希望对你有一定的参考价值。

一、@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;

 

以上是关于Spring BootSpring Boot之自定义配置参数绑定到Java Bean的主要内容,如果未能解决你的问题,请参考以下文章

Spring BootSpring Boot之使用ImportBeanDefinitionRegistrar类实现动态注册Bean

Spring BootSpring Boot之两种引入spring boot maven依赖的方式

spring bootspring boot @ConditionalOnxxx相关注解总结

Spring BootSpring Boot项目部署到外部Tomcat容器

Spring BootSpring Boot之自定义拦截器

spring bootspring cloud下spring boot微服务启动没有报错,但是访问访问不到