首页IT科技compose与constitute的区别(【一句话】@Configuration和@Component的区别)

compose与constitute的区别(【一句话】@Configuration和@Component的区别)

时间2025-08-03 02:37:43分类IT科技浏览5826
导读:首先一句话:...

首先一句话:

@Configuration修饰的类会被Cglib动态代理                 ,@Component不会                 。

详细:

Cglib动态代理生成当前对象的子类Class                         ,并对方法拦截        ,多次调用@Bean方法时直接从BeanFactory之中获取         ,得到同一个对象                         。

即使用@Configuration时

  @Autowired自动注入的对象和直接调用@Bean修饰的方法及多次调用@Bean修饰的方法拿到的是同一个对象        。

当然                         ,多个@Autowired自动注入的对象不管使用哪个注解拿到的都是同一个对象哈                 ,因为默认是单例的嘛

看个例子就好理解了:

@RunWith(SpringRunner.class) @SpringBootTest(classes = DemoApplication.class) public class OnlyTest { @Autowired private A a; @Autowired private B b3; @Autowired private B b4; @Test public void testCompare() { System.out.println(a.getB1 == b3? "同一个b" : "不同的b"); System.out.println(b3 == b4? "同一个b" : "不同的b"); System.out.println(a.getB1() == a.getB2() ? "同一个b" : "不同的b"); } }

运行结果:

使用@Configuration时:

同一个b

同一个b

同一个b

使用@Component时:

不同的b

同一个b

不同的b

解释一 下:

第一个判断         ,判断的是@AutoWired自动注入和直接调用@Bean方法获得的对象是不是同一个                         ,结论:使用@Component时不是同一个                 ,使用@Configuration时是同一个

第二个判断,判断的是两个被@AutoWired自动注入的变量是不是同一个                         ,结论:不管使用的是@Component还是@Configuration                         ,都是同一个,因为默认是单例的                 ,其实这种情况跟本次讨论的@Component和@Configuration的对比没关系                         ,放这里是怕理解出现混淆

第三个判断        ,判断的是多次调用@Bean方法                 ,返回的对象是不是一个                         ,结论:使用@Component时不是同一个        ,使用@Configuration时是同一个

声明:本站所有文章         ,如无特殊说明或标注                         ,均为本站原创发布         。任何个人或组织                 ,在未征得本站同意时         ,禁止复制                 、盗用                         、采集        、发布本站内容到任何网站         、书籍等各类媒体平台                         。如若本站内容侵犯了原著者的合法权益                         ,可联系我们进行处理                 。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
获得administrators权限(获得Administrator完全控制权) 软件开发pmo(OK源码中国2022推荐国庆73周年微擎模块国庆爆粉v1.1原版营销吸粉OK源码中国破解)