针对属性文件中的变量,Spring 使用的是松散绑定( Relaxed Binding)
根据官方的说明:
下面的绑定方式都能够正确的把值注入到变量中。
user.firstName // 标准驼峰命名语法
user.first-name // 短横线隔开表示,推荐用于.properties和.yml文件中
user.first_name // 下划线表示,用于.properties和.yml文件的可选格式
USER_FIRST_NAME // 大写形式,推荐用于系统环境变量
更加全面的说明,在 Spring Boot 的项目:Relaxed Binding 2.0 · spring-projects/spring-boot Wiki · GitHub 中。
总结
简单点来说,就是你可以在变量名中添加横线和下划线,都能够被 Spring 识别,大小写也能够被 Spring 识别。
@ConfigurationProperties
支持松散绑定,@Value
不支持松散绑定