Springboot 注解把配置文件自动映射到属性值和实体类

头像
15209269736
2019-03-29阅读 677

     在Springboot开发过程中我们经常会用到将配置文件中的值映射到属性和实体类,下面我们简单介绍一下基于注解实现。

     1、配置文件的值映射到属性

     我们以将配置文件的中的值映射到controller的属性为例进行说明,先上属性文件,新建一个properties文件properties.properties,在resource目录下,并在里面添加几条数据。

                          

     接着我们新建一个controller如下图所示:

                        

     此处用到两个注解@PropertySource和@Value,@PropertySource注解主要用于定义属性文件的位置和名称来定位属性文件,@value注解用于读取属性文件中值并赋值到当前实体类属性上,此处是将属性文件中的upload.path的值赋给实体类中path属性上。

     测试结果如下:

                        

  

     2、配置文件映射到实体类

     我们继续使用上面的属性文件,新建一个类ConstantConfig用于将属性文件中的值映射到该实体类中,如下所示:

                       

     @componet用于将改类声明为一个组件,@PropertySource注解主要用于定义属性文件的位置和名称来定位属性文件,@ConfigurationProperties注解用于将属性文件批量映射到实体类中的属性上,prefix指定一个前缀,将配置文件里前缀后面的所有属性都一一映射到实体类对应的属性中,注意这种方式属性文件中的前缀后面属性名称和实体类中的属性名称必须相同。

     然后我们新建一个controller,通过@Autowired将此属性类自动注入进去,然后就可以直接使用如下所示。

                       

     测试结果如下: