@Component和@Bean的区别是什么?

news/2024/4/15 14:32:37

大家好,我是"java继父"伯约,这篇对大家有帮助的话求一个赞,另外文章末尾放了我从月入7k到现在3W的学习资料,大家可以去领一下(无偿)。

1.作用对象不同。@Component注解作用于类,而@Bean注解作用于方法。

2.@Component注解通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中(我们可以使用@ComponentScan注解定义要扫描的路径)。@Bean注解通常是在标有该注解的方法中定义产生这个bean,告诉Spring这是某个类的实例,当我需要用它的时候还给我。

3.@Bean注解比@Component注解的自定义性更强,而且很多地方只能通过@Bean注解来注册bean。比如当引用第三方库的类需要装配到Spring容器的时候,就只能通过@Bean注解来实现。

@Bean注解的使用示例:

@Configuration
public class AppConfig {@Beanpublic TransferService transferService() {return new TransferServiceImpl();}
}

上面的代码相当于下面的XML配置:

<beans><bean id="transferService" class="com.yanggb.TransferServiceImpl"/>
</beans>

下面这个例子是无法通过@Component注解实现的:

@Bean
public OneService getService(status) {case (status)  {when 1:return new serviceImpl1();when 2:return new serviceImpl2();when 3:return new serviceImpl3();}
}
1.粉丝福利
最新很多同学问我有没有java学习资料,我根据我从小白到架构师多年的学习经验整理出来了一份50W字面试解析文档、简历模板、学习路线图、java必看学习书籍、需要的小伙伴可以关注我的
公众号:“Tom聊架构”,回复暗号:“578”即可获取


http://www.ppmy.cn/news/1284111.html

相关文章

浅学Vue3

安装 vue项目 npm init vuelatest 回车装包 npm install 路由 安装 Router npm install vue-router4 -S项目根目录新建 router --> index.js vue2中 index.jsimport Vue from vue; import VueRouter from vue-router; import Home from ../views/Home.vue;Vue.use(V…

探寻二维子带分解的奥秘

二维子带分解是一种在信号处理和图像压缩领域广泛应用的技术&#xff0c;它通过对二维图像进行分解&#xff0c;实现了对图像的多尺度分析和高效压缩。本文将详细介绍二维子带分解的原理、方法和在图像处理中的应用。 首先&#xff0c;让我们来了解二维子带分解的原理。二维子…

常用的 linux 命令

常用的 linux 命令 1.从其他机器拷贝文件夹2.查看哪个程序在用特定端口3.实时监控日志文件内容4.查看指定用户拥有的进程5.查看磁盘空间使用情况6.文件搜索which&#xff08;whereis&#xff09; 显示系统命令所在目录find 查找任何文件或目录1&#xff09; 根据文件名称查找2)…

PHP的Laravel的数据库迁移

1.默认迁移文件 2.数据库迁移 在终端输入以下代码 php artisan migrate 我的报错啦&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 数据库里面只有两张表&#xff0c;实际上应该有四张的&#xff01;&#xff01;&#xff01; 解决方法&#xff1a; 反正表已…

跟着野火学FreeRTOS:第一段(任务延时列表)

既然是延时列表&#xff0c;那肯定要先定义相应的链表&#xff0c;延时列表的定义如下。这里定义了两条延时列表&#xff08;其实就是前面小节里面提到的链表的根节点&#xff09;&#xff0c;一条是准备当记录 S y s t i c k Systick Systick周期个数的变量 x T i c k C o u n…

Python中的数据序列

Python中的数据序列 一、作业回顾 1、求幸运数字6 幸运数字6(只要是6的倍数):输入任意数字,如数字8,生成nums列表,元素值为1~8,从中选取幸运数字移动到新列表lucky,打印nums与lucky。 # 第一步:定义二个空列表 nums = [] lucky = [] # 第二步:提示用户输入数字 n…

Android 12 Token 机制

一、前言 在 android framework 框架中 activity 和 window 是相互关联的&#xff0c;而他们的管理者 AMS 和 WMS 是怎么来实现这种关联关系的&#xff0c;答案就是通过 token。 首先大家需要了解一下 LayoutParams&#xff0c;当然属性很多&#xff0c;简单了解即可&#xf…

HTML的学习记录

<br /> 标签在 HTML 页面中创换行符。 <hr /> 标签在 HTML 页面中创建水平线。 段落是通过 <p> 标签定义的。 浏览器会自动地在段落的前后添加空行。&#xff08;<p> 是块级元素&#xff09; 文本格式 <b>This text is bold</b>字体加粗 …

java itext5 生成PDF并填充数据导出

java itext5 生成PDF并填充数据导出 依赖**文本勾选框****页眉**&#xff0c;**页脚****图片**实际图 主要功能有文本勾选框&#xff0c;页眉&#xff0c;页脚&#xff0c;图片等功能。肯定没有专业软件画的好看&#xff0c;只是一点儿方法。仅供参考。 依赖 <!--pdf-->&…

SpringBoot 3.2.0 结合Redisson接入Redis

依赖版本 JDK 17 Spring Boot 3.2.0 Redisson 3.25.0 工程源码&#xff1a;Gitee 集成Redis步骤 导入依赖 <properties><redisson.version>3.25.0</redisson.version> </properties> <dependencies><dependency><groupId>org.pr…

【10】ES6:Promise 对象

一、同步和异步 1、JS 是单线程语言 JavaScript 是一门单线程的语言&#xff0c;因此同一个时间只能做一件事情&#xff0c;这意味着所有任务都需要排队&#xff0c;前一个任务执行完&#xff0c;才会执行下一个任务。但是&#xff0c;如果前一个任务的执行时间很长&#xff…

vivado 时钟延迟、抖动和不确定性

时钟延迟、抖动和不确定性 除了定义时钟波形外&#xff0c;还必须指定可预测和随机变化与操作条件和环境有关。 时钟延迟 在板上和FPGA内部传播后&#xff0c;时钟边沿到达其目的地有一定的延迟。这种延迟通常表示为&#xff1a; •源延迟&#xff08;通常在设备外部时钟源…

为什么IDEA建议去掉StringBuilder,而要使用“+”拼接字符串

在字符串拼接时应该都见过下面这种提示&#xff1a; 大家普遍认知中&#xff0c;字符串拼接要用StringBuilder&#xff0c;那为什么idea会建议你是用呢&#xff0c;那到底StringBuilder和有什么具体区别呢&#xff0c;我们一起来探究一下。 普通拼接 普通的几个字符串拼接成一…

Eclipse安装Jrebel eclipse免重启加载项目

每次修改JAVA文件都需要重新启动项目&#xff0c;加载时间太长&#xff0c;eclipse安装jrebel控件,避免重启项目节省时间。 1、Help->Eclipse Marketplace 2、搜索jrebel 3、Help->jrebel->Configuration 配置jrebel 4、激活jrebel 5、在红色框中填入 http://jrebel…

Leetcod面试经典150题刷题记录 —— 区间篇

Leetcod面试经典150题刷题记录 —— 区间篇 1. 汇总区间2. 合并区间3. 插入区间4. 用最少数量的箭引爆气球 1. 汇总区间 题目链接&#xff1a;汇总区间 - leetcode 题目描述&#xff1a; 给定一个 无重复元素 的 有序 整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序…

深入理解技术内容运营

技术内容营销 营销是一种商业策略&#xff0c;涉及识别客户需求并确定如何最好地满足这些需求。换句话说&#xff0c;它旨在确保企业或产品以吸引目标受众的方式定位&#xff0c;鼓励他们购买。该策略包含多个方面&#xff0c;包括市场研究、品牌建设、产品开发、销售、促销和…

小波如何让研究人员转换和理解数据?

在日益数据驱动的世界中&#xff0c;被称为小波的数学工具已成为分析和理解信息不可或缺的方法。许多研究人员以连续信号的形式接收他们的数据&#xff0c;这意味着随着时间的推移&#xff0c;信息流不断演变&#xff0c;例如地球物理学家聆听从地下岩层反弹的声波&#xff0c;…

【计算机毕业设】SSM知识库管理系统

项目介绍 文件集中上传&#xff1a;系统支持单文件上传以及批量上传&#xff0c;系统支持zip、rar格式的压缩包导入。亮点创新 多格式文件在线预览 用户可以对所有公共文件进行浏览&#xff0c;支持office&#xff0c;pdf格式以及常见图片格式&#xff0c;音频格式&#xff0c…

初试人工智能

AI技术对于我们普通人来讲&#xff0c;再也不是那个听起来遥远的东西了&#xff0c;而成为一个日常生活中真正有价值的生产力工具了。本文介绍几个简单的应用。 文章目录 写文章 绘画 处理Excel 编程 写文章 输入“写一篇介绍成都美食的文章”&#xff0c;输出的文章如下…

第五章 与HTTP协作的Web服务器

5.1 用单台虚拟主机实现多个域名 在传统的基于IP地址的服务器配置中&#xff0c;一台服务器通常只能提供一个域名的服务。然而&#xff0c;通过虚拟主机的技术&#xff0c;同一台服务器可以根据请求中的域名&#xff0c;区分并提供不同的网站内容。这使得在一台物理或虚拟服务…
最新文章