只需要写一次即可,@Value则需要对每个字段都添加松散绑定:比如我的yaml中写的 last-name,这个和 lastName 是一样的,-后面跟着的字母默认是大写的,这就是松散绑定JSR303数据校验:可以在字段是增加一层过滤器验证,可以保证数据的合法性复杂类型封装:yaml中可以封装对象,使用@value就不支持
最佳实践:
配置 yaml 和配置 properties 都可以获取到值时,首荐 yaml;如果在某个业务中,只需要获取配置文件中的某个值,可以使用一下@value如果有编写的JavaBean来和配置文件进行一一映射,就直接@configurationProperties