SpringBoot中@Configuration和@Bean和@Component相同点详解
作者:我就是我500
这篇文章主要介绍了SpringBoot中@Configuration和@Bean和@Component相同点详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
SpringBoot中@Configuration和@Bean和@Component相同点
之前一直有疑惑,为什么SpringBoot中有些组件注入需要使用@Bean,有些需要使用@Component,有些使用@Configuration,今天做了一些实验,解除了疑惑
结论:
@Configuration和@Bean和@Component在注入对象时大体上是没有区别的,都可以为Spring容器注入一个对象(底层对对象的处理在是有很大区别的,详细不在此处解释)
那么他们之间
@Bean注解的作用
是将方法返回值作为一个bean注入到Spring容器中,方法名即为bean的名称
如图所示,该bean注入后的名称就是方法名。
@Component的适用对象是类
标注在类上,将此类作为一个bean注入容器,类名首字母小写即为bean的名称
比如该类标注上@Component后,会为Spring容器注入一个名为myLocaleResolver的bean,但是我们需要的是名为localeResolver的bean,直接改名即可!
@Configuration包含@Component注解
所以两者本质相同!
比如:我们用三种方式为Spring注入国际化bean
我们既可以使用@Bean注解返回一个对象
也可以将@Component注解标注在类上
也可以使用@Configuration注解标注,三者效果相同!
注意:
虽然三种注解使用大体相同,但是还是需要分时而定配置类使用@Configuration,普通组件使用@Component即可,如果是第三方类,我们无法修改类的信息,使用@Bean将对象返回给Spring容器是最好的选择!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- Spring解读@Component和@Configuration的区别以及源码分析
- Spring中@Configuration和@Component注解的区别及原理
- Spring中@Configuration注解和@Component注解的区别详解
- 详解Spring中@Component和@Configuration的区别
- Spring注解@Configuration和@Component区别详解
- Spring注解中@Configuration和@Component到底有啥区别
- Spring @Configuration和@Component的区别
- 揭秘Spring核心注解@Configuration与@Component的本质区别