@Bean+@Component+@Configuration+@Autowired的配合使用与区别(转载+整理+完整实验)
大概是这么几种用法:
组合使用 | 示例代码 | 代理 |
@Configuration+@bean |
所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。
|
|
@Component+@bean | 无代理,返回不同实例 | |
@Component+@Autowired+@bean | 同第一种情况 |
上述表格中的代码来自[1]
比较Configuration和Component的区别的完整实验见
代码
代码运行结果:
demoapplicationtests.java | MyTestConfig.java设置 | 结果 | 示意圖 |
@Autowired | @Configuration | 同一个car | |
注释掉@Autowired | @Confuguration | 不同的car | |
@Autowired | @Component | 不同的car | |
注释掉@Autowired | @Component | 不同的car |
@Bean是把一個類註冊到spring的IoC控制中,IoC控制反轉的意思就是說,本來是程序員在new,現在Spring幫你new
@Bean注解使用在方法上,告诉Spring这个方法将会返回一个Bean对象,需要把返回的对象注册到Spring的应用上下文中。
@Component注解在类上使用表明这个类是个组件类,需要Spring为这个类创建bean。
Reference:
[1]Spring @Configuration 和 @Component 区别
[2]@Configuration 和 @Component区别
[3]difference between @Component and @Configuration in Spring 3
[4]@Component和@Configuration作为配置类的差别
@Bean+@Component+@Configuration+@Autowired的配合使用与区别(转载+整理+完整实验)相关推荐
- Spring @Bean and @Configuration
2019独角兽企业重金招聘Python工程师标准>>> 四.学习spring 注解的使用 4.12 Java-based container configuration 4.12.1 ...
- SpringDataJPA+Hibernate框架源码剖析(六)@PersistenceContext和@Autowired注入EntityManager的区别
SpringDataJPA+Hibernate框架源码剖析系列文章: SpringDataJPA+Hibernate框架源码剖析(一)框架介绍 SpringDataJPA+Hibernate框架源码剖 ...
- @Autowired @Resource @Qualifier的区别
@Autowired @Resource @Qualifier的区别 实用理解:@Autowired @Resource 二选其一,看中哪个就用哪个. 简单理解: @Autowired 根据类型注入, ...
- @Autowired 与@Resource的区别(详细)
原文链接: https://blog.csdn.net/weixin_40423597/article/details/80643990 spring不但支持自己定义的@Autowired注解,还支持 ...
- Spring中@Autowired和@Resource的区别
一.定义 @Autowired 对类成员变量.方法及构造函数进行标注,完成自动装配的工作. @Resource 在语义上被定义为通过其唯一的名称来标识特定的目标组件,其中声明的类型与匹配过程无关. 如 ...
- @Autowired 与@Resource的区别
@Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分 ...
- @Autowired 和 @Resource 的区别(为什么更推荐使用@Resource ?)
@Autowired 和 @Resource 的有什么区别? 相同点 不同点 @Autowired @Resource @Resource的装配顺序 要是实在不理解可以看看这个视频 !!! 为什么更推 ...
- Dubbo——SpringBoot集成Dubbo(@Autowired和@Reference的区别、Dubbo的服务治理)
Dubbo--原生API实现远程调用_Strine的博客-CSDN博客 在上一篇文章中我们讲了如何使用原生API发起远程调用,显然这种方式肯定是非常麻烦的,因此我们这里就讲如何使用SpringBoot ...
- Autowired和Resource的区别
Autowired和Resource的区别 1,Autowired @Autowired这个注解是属于 Spring 的容器配置的一个注解,是spring2.5版本引入的.这个注解的功能就是为我们注入 ...
最新文章
- Selenium+PhantomJS使用时报错原因及解决方案
- 从Java代码到Java堆理解和优化您的应用程序的内存使用
- JavaScript+HTML设置视频预览图
- java中npe问题,【Java 8】巧用Optional之优雅规避NPE问题
- php企业黄页源码,PHPCMS 企业黄页模块 v9 GBK 正式版
- PyTorch 1.0 中文官方教程:词嵌入:编码形式的词汇语义
- 驱动人生安装驱动计算机无法启动,驱动人生打开时出错怎么办
- 摩根IT实习经验谈及其他
- 由scanf说起之1:scanf函数和回车、空格 及其返回值
- Windows Phone开发(37):动画之ColorAnimation 转:http://blog.csdn.net/tcjiaan/article/details/7526026...
- Androidstudio svn 使用 版本控制 详细步骤(一)
- 捷速pdf修改器如何在pdf中添加附件
- 智力问答选择题_智力问答题题库
- 程序员因违反竟业协议,赔腾讯97.6万...
- vscode+svn
- 通用图床服务架构解析(百万级回源/天)
- 自控力读书笔记:第三章 累到无力抵抗:为什么自控力和肌肉一样有极限?
- mixly红外遥控问题在线等
- 剑指Offer——求1+2+3+...+n
- 使用distpicker的简单测试页面