@Value
@PropertySource的作用是加载properties文件,因为springboot启动时并不会自动加载自定义的文件
修改get和set方法名后:
我们发现并不影响最后的赋值,故没有经过反射推断属性。
@ConfigurationProperties
还是成功赋值,但如果我们修改一下get和set方法呢?
可以发现name属性为null,因为该注解会用反射推断属性。
所以可以推断出Person类的属性名与properties文件中属性名不需要保持一致
比如我把name改成aaa
还是能获取到值,故类型安全注入只与get和set方法名有关(只改变其一还是能正常获取到值)。