@Configuration:标示当前类为一个配置文件,可以在其中装配bean
@ConfigurationProperties(prefix="mail"):用来绑定properties文件中的属性
此时properties文件中需要绑定的属性应该为mail.xxx(成员变量)
@EnableConfigurationProperties(MailProperties.class):
如果需要注入只含有ConfigurationProperties注解的类,则需要启用以上注解才能注入。
但也有其他的办法就是在@ConfigurationProperties的bean上加入component或Configuration注解直接扫描到容器中
@ConfigurationProperties与@value绑定属性时的区别
为前者时:properties配置值 = prefix."成员变量"(会自动将"-a"转化为A)
为后者时:properties配置值就是spEL表达式中的值,例如:${mail.port}