spring-boot如何生成元数据与javaBean进行关联用作配置文件提示

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会做合并处理。


最终效果如下图所示

 

 

总结

这样是不是后续在配置文件配置的时候,是不是就会清楚很多啦,也不会这么容易弄写错了。如上有描述不好的地方,还请大家多多指出。谢谢

posted @ 2020-07-15 21:36  品霖  阅读(484)  评论(0编辑  收藏  举报