SpringBoot 在配置yml文件中 设置List

需求:在工作中有一些配置需要自定义在yml配置中,其中就有可能有List配置,那该怎么配置呢?

yml配置代码:

tools-configs:
    enabled: false
    printers:
      - id: 1
        name: toolbox-***
        startUrl: print/***/
        stopUrl: print/***/
        installDir: toolbox-***\
      - id: 2
        name: toolbox-***
        url: print/***/
        installDir: toolbox-***\

定义对接yml的实体类:

@Data
public class ToolsInfo {
    private String id;
    private String name;
    private String stopUrl;
    private String startUrl;
    private String installDir;
}

定义注入配置类:

@Data
@Component
//注意prefix一定要小写
@ConfigurationProperties(prefix = "tools-configs")
public class ToolsConfigs {
	//注意printers 一定要是yml文件的printers属性
    List<ToolsInfo> printers;
}

使用:

	// 注入进来
    @Autowired
    public ToolsConfigs printers;

	// 这样就能获取到了
    List<ToolsInfo> printers = this.printers.getPrinters();

注意点:

在使用此注解时要引用下面pom:@ConfigurationProperties(prefix = "tools-configs")
 
     org.springframework.boot
     spring-boot-configuration-processor
 

你可能感兴趣的:(#,SpringBoot小技巧,spring,boot,java,spring)