yaml和properties区别(2)

知识点总结:
一、yaml和properties(2)
注解是@PropertySource(“classpath:myproperties.yaml”)
这样就绑定了我们自定义的myproperties.yaml,然后还是要根据@Value()注解注入配置文件中的数据。 是不是又麻烦了呢…
总结:
yaml相比properties更简洁,拓展性更高!推荐使用。
注入配置的方式有三种,更推荐@ConfigurationProperties
有啥用?—>配置数据库相关url之类的,还有各种全局配置···直接改配置文件就生效了,完全不用动咱们的代码,是不是简化了很多工作呢
三、JSR303数据校验
使用场景:在用配置文件注入bean时,如果数据不合乎规范,这样该怎么办呢,比如将一个Email注入成了电话号码,都是String,不会报错,但会给系统带来安全性的bug。

如何使用:
在bean上加@Validated,然后再相关的成员上加对应校验注解即可,这里以@Email(message=“邮箱格式错误!!”)为例。
对于name要求是Email格式,但在配置文件中是qzh。运行走你,果然,报错了!
类似@Email这样的校验注解都有哪些呢?网上搜索
通过@Validated搭配各种校验注解,这样可以防止输入注入数据错误引发的BUG,我TM直呼NB!

四、多环境配置及配置文件优先级
在编写配置文件的时候,用application-{profile}.properties/yml 来指定多个环境版本,但spring只会默认使用application.properties/yml主配置文件;
所以在要在主配置文件中加入spring.profiles.active:{profile},profile参数和其他配置文件的application-“profile”的profile对应,就可以切换到指定的配置环境。
例子中我们假设选择test测试环境,可以看到在spring.profiles.active:test左侧有一个小对勾。
外部配置文件方式主要有四种,并对应不同的优先级。
(名字都得是application.yaml/properties)
file表示根目录项目名称
优先级1:项目路径下的config文件夹配置文件 file:./config/
优先级2:项目路径下配置文件 file:./
优先级3:资源路径下的config文件夹配置文件 classpath:/config/
优先级4:资源路径下配置文件 classpath:/

优先级由高到底,高优先级的配置会覆盖低优先级的配置

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值