spring boot中关于获取配置文件注解的使用@ConfigurationProperties、@Value、@PropertySource
#配置文件内容
person:
age: 18
name: 张三
man: true
birthday: 1997/03/19
map: {k1: 11,k2: 22,k3: 33}
list:
- 李四
- 王五
- 张二麻
//实体类
@Component
@ConfigurationProperties( prefix = "person")
public class Person {
private String name;
private Integer age;
private boolean man;
private Date birthday;
private Map<String, String> map;
private List<String> list;
//直接赋值
@Value("张三")
private String name;
//使用表达式写法
@Value("#{10/2}")
private Integer age;
//从配置文件中读取值
@Value("${person.birthday}")
private Date birthday;
@ConfigrautionProperties | @Value | |
---|---|---|
功能 | 可以批量注入配置文件中值 | 需要在类中每个属性上一个个指定 |
SpEL表达式 | 不支持 | 支持 |
JSR303数据校验 | 支持 | 不支持 |
复杂类型封装 | 支持 | 不支持 |
//配置文件名:person.yml
@PropertySource("classpath:person.yml")
@PropertySource(value = {"classpath:person.yml","classpath:person2.yml"})
以上是简单用法,如果你只是简单学习使用的话看到这里就可以停止了… …
@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ConfigurationProperties {
@Targe中可以看出这个注解不只是可以在类上添加,同样可以在接口、枚举和方法上添加。
目前注解添加在方法上有什么作用还没弄清楚,以后清楚了再补充…
同时该注解有四个属性:
@AliasFor("prefix")
String value() default "";
@AliasFor("value")
String prefix() default "";
boolean ignoreInvalidFields() default false;
booean ignoreUnknownFields() default true;
@ConfigurationProperties(value = "person")
@ConfigurationProperties(prefix = "person")
@ConfigurationProperties("person")
boolean ignoreInvalidFields() default false;
使用实例:
@ConfigurationProperties(ignoreInvalidFields = fasle)
最后一个属性作用是 是否允许配置文件存在与实体类中不对应的属性,默认为true。
使用示例:
@ConfigurationProperties(ignoreUnknownFields= true)
本人才疏学浅,如果有错误的地方欢迎大家指正!
本文地址:https://blog.csdn.net/LHFFFFF/article/details/107576503
如对本文有疑问, 点击进行留言回复!!
before社区电量是什么意思 Before社区电量获得方法
RecycleView入门详解(教你全面掌握RecycleView用法)
动态权限请求框架RxPermissions(几行代码搞定权限)
URL路径@PathVariable出现点号“.“时值遭截断问题
网友评论