java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot中@Configuration和@Bean和@Component相同点

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容器是最好的选择!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文