spring-boot如何生成元数据与javaBean进行关联用作配置文件提示
首先需要引入一个jar依赖包,以及一个maven plugin如下所示
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
-
-
注意:maven-compiler-plugin配置时不要配置
<configuration> <proc>none</proc> </configuration>
-
选项,否则不会自动生成spring-configuration-metadata.json文件。
可能有些小伙伴还需要开启Idea的Annotation Processors选项(我个人测试不需要开启。这里作一个补充,有些小伙伴可能会配置)配置如下图所示:
-
定义一个javaBean用来接收配置文件的数据,类定义如下所示:
@Data @Configuration @ConfigurationProperties(prefix = "zengpinlin") public class ZengpinlinProperties { /** 用户名 */ private String userName; /** 用户密码 */ private String password; /** 用户手机号码 */ private Integer phoneNumber; /** 上下文属性 */ private Map<String, Integer> contexts; /** 用户年龄 */ private Integer age; }
说明:记得要加@ConfigurationProperties,不添加会导致注释处理器无法找到该类来做映射。如果不用lombok的@Data注解,需要自己添加getter和setter方法。上面javadoc注释就是元数据文件的description。这些都完成后执行maven compile,最后会在target/classes/META-INF目录下会看到一个spring-configuration-metadata.json,如果还需要添加一些描述,可以自行创建additional-spring-configuration-metadata.json用来添加,springboot会做合并处理。
最终效果如下图所示
总结: