Springboot中自定义类绑定的配置提示
首先
引入start启动器
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency>
然后
编写自定义类
User类
1 package com.lzp.pojo; 2 3 import lombok.Data; 4 import lombok.ToString; 5 import org.springframework.boot.context.properties.ConfigurationProperties; 6 import org.springframework.stereotype.Component; 7 8 import java.util.Date; 9 import java.util.List; 10 import java.util.Map; 11 12 /** 13 * @Author LZP 14 * @Date 2021/7/19 9:34 15 * @Version 1.0 16 */ 17 18 @Component 19 @ConfigurationProperties(prefix = "user") 20 @ToString 21 @Data 22 public class User { 23 24 private String userName; 25 private Boolean boss; 26 private Date birth; 27 private Integer age; 28 private List<String> hobbies; 29 private Map<String, Integer> scores; 30 private Pet pet; 31 32 }
Pet类
1 package com.lzp.pojo; 2 3 import lombok.Data; 4 import lombok.ToString; 5 import org.springframework.boot.context.properties.ConfigurationProperties; 6 import org.springframework.stereotype.Component; 7 8 /** 9 * @Author LZP 10 * @Date 2021/7/19 10:00 11 * @Version 1.0 12 */ 13 @Component 14 @ConfigurationProperties(prefix = "pet") 15 @ToString 16 @Data 17 public class Pet { 18 19 private String petName; 20 private Integer age; 21 }
注意:要将一个自定义类中的属性进行配置,需要将该类上加上两个注解 @Component 和 @ConfigurationProperties,加上@Component这个注解表示将该类作为组件注册到容器中,加上 @ConfigurationProperties 这个注解并指定前缀之后,该类中的所有属性将和springboot的全局配置文件绑定在一起(即在springboot全局配置文件中可以对该类的属性进行自定义配置)
最后
启动项目
去application.yml 或者 application.properties配置文件中输入测试
效果如下: