Springboot种常见的三种属性注入的方式

在学习springboot的过程中,发现了springboot非常多的优点和特性,一下就是比较spring之后总结出的springboot三种常见的属性注入方式。
1.使用@Value("${}")方式:
这种方式是最近本的属性注入方式,早在学习spring的时候,就会大量用到这种属性注入方式,就是利用@Component+@Value注解的形式来进行属性注入。
2.使用@ConfigurationProperties+Set方式注入:
这种方式就是把用到的属性写在一个类(JdbcProperties)中,通过@ConfigurationProperties(prefix=“jdbc”)找到application.properties文件中前缀为“jdbc”的属性,然后在类(JdbcConfig)中利用spring去注入,详情见图:
Springboot种常见的三种属性注入的方式_第1张图片Springboot种常见的三种属性注入的方式_第2张图片
Springboot种常见的三种属性注入的方式_第3张图片
Springboot种常见的三种属性注入的方式_第4张图片
其中@Data注解就是@Getter和@Setter等注解的组合,他可以自动生成get、set、hashcode、toString、构造,在编译的时候就产生,而不是在运行的时候才会声称这些方法。
Springboot种常见的三种属性注入的方式_第5张图片
@ConfigurationProperties(prefix=“jdbc”)就是找到.properties文件中前缀为"jdbc"的属性。这种方式的好处就是比较@Value更“优雅”的注入,代码可读性提高,代码量也减少很多。
3.是第二种方式的改进版
这种方式下将不再用到(JdbcProperties)类,直接通过@ConfigurationProperties(prefix = “jdbc”)注解去找到.properties或.yml文件中的属性后再注入。详情见图
Springboot种常见的三种属性注入的方式_第6张图片
Springboot种常见的三种属性注入的方式_第7张图片
Springboot种常见的三种属性注入的方式_第8张图片
这种方式就是把@ConfigurationProperties(prefix=“jdbc”)注解写在@Bean下,当springboot启动解析的时候,会找到@Configuration注解,然后找到@Bean注解,然后找到@ConfigurationProperties(prefix=“jdbc”)注解,直接解析yml文件,这样写的好处就是减少了代码量,个人更喜欢这一中注入方式。
补充:.yml文件和.properties文件同时存在的时候,两者是并集的关系,就是两者有重复内容时,取.properties文件中的,不同的内容两者都要取。

你可能感兴趣的:(Springboot种常见的三种属性注入的方式)