@Configuration与@Component的区别
2021-04-17 10:55:32 2 举报
@Configuration与@Component的区别
作者其他创作
大纲/内容
调用方法
容器中注册Bean并返回
是
@Configuration+@Bean
CGlib创建标注类的代理类
@Autowrite注入
等价
直接new 对象并返回
@Configuration与@Component都是声明Bean的注解,这两个注解都可以搭配注解@Bean使用,@Bean注解的方法返回一个实例,并且把这个实例注入到Spring容器中。使用@Component+@Bean时,调用@Bean标注的方法返回的对象和Spring容器不是同一个对象。而使用@Configuration+@Bean时,调用@Bean标注的方法返回的对象和Spring容器中的是同一个对象。因为使用@Configuration时会为该类生成CGLIB代理对象子类Class,并对方法进行拦截,第二次调用@Bean方法时直接从BeanFactory中获取对象,所以获取的是同一个对象。
否
检查Spring容器中是否存在着该Bean对象
返回Bean对象
0 条评论
下一页