@Component与@Configuration区别

@Configuration注解和@Component注解的区别以及@Component注解的使用场景 【代码】@Configuration注解和@Component注解的区别以及@Component注解的使用场景。 阅读详情

@Configuration本质上还是@Component,并且@Configuration标记的类必须符合下面的要求:
1.配置类不能是 final 类、都必须声明为static
2.配置注解通常为了通过 @Bean 注解生成 Spring 容器管理的类,它通常是为了表示这是一个配置类,通过这个类来注册多个Bean
3.配置类能在方法中声明,不能是 private

重要区别

  • 如果使用 @Configuration 注解修饰的类,并且该注解中的 proxyBeanMethods 属性的值为 true,则会为这个 bean 创建一个代理类,该代理类会拦截所有被 @Bean 修饰的方法,在拦截的方法逻辑中,会从容器中返回所需要的单例对象。

  • 使用 @Component 注解修饰的类,则不会为这个 bean 创建一个代理类。 那么我们就会直接执行用户的方法,所以每次都会返回一个新的对象。

如果我们将 @Configuration 注解中的 proxyBeanMethods 属性的值设置为 false,那么它的行为是否就会跟 @Component 注解一样?

@Configuration(proxyBeanMethods = false)
public class Config {

	@Bean
	public Hello hello(){
		return new Hello();
	}
}

在这里插入图片描述
通过结果,我们可以得出结论是:如果将 @Configuration 注解中的 proxyBeanMethods 属性的值设置为 false,那么它的行为就会跟 @Component 注解一样。所以最大区别其实就是,一个使用了单例模式一个没有

参考大佬:https://juejin.cn/post/6873314485449261069

@Configuration和@Component区别 @Configuration详解 一、@Configuration @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Configuration { @AliasFor( annotation = Component... 阅读详情

相关推荐

@Configuration 和 @Component 区别

前言 开发中,我们经常使用@Configuration或者@Component标注一个类,用于注册到spring容器中,以便于在其他的类中可以动态的注入使用,默认情况下,大多数开发者也知道,@Configuration多用于一个用于标注全局配置的类,@Component作为一个普通的bean进行使用,但是从spring底层原理上,它们的区别是什么呢? 我们先来看一个简单的代码演示 当我们使用@Co...

congge 6877

configuration和component区别

https://blog.youkuaiyun.com/long476964/article/details/80626930 从上面链接,可以看到,虽然Component注解也会当做配置类,但是并不会为其生成CGLIB代理Class,所以在生成Driver对象时和生成Car对象时调用car()方法执行了两次new操作,所以是不同的对象。 (1)、此处用component,对sS...

weixin_38167826的博客 623

R语言生存分析

自己整理编写的R语言常用数据分析模型的模板,原文件为Rmd格式,直接复制粘贴过来,作为个人学习笔记保存和分享。部分参考薛毅的《统计建模与R软件》和《R语言实战》生存分析是研究生存时间的分布规律,以及生存时间和相关因素之间关系的一种统计分析方法。生存分析在医学科学研究中具有广泛而重要的应用价值,它对人群寿命的研究,各种慢性疾病的现场追踪研究,临床疗效试验和动物试验等研究中随访资料的处理骑着举足轻重的作

Tiaaaaa的博客 2万+

Spring注解配置:@Configuration 和 @Component 区别及原理详解

Indexed​/***/​复制代码@Component​​​复制代码从定义来看, @Configuration 注解本质上还是 @Component,因此 @ComponentScan 能扫描到@Configuration 注解的类。@Component在Spring中是代表LITE模式的配置注解,这种模式下的注解不会被Spring所代理,就是一个标准类,如果在这个类中有@Bean标注的方法,那么方法间的相互调用,其实就是普通Java类的方法的调用。

Java技术攻略的博客 1161

从零到一:DAMASK与ABAQUS联合仿真的环境配置艺术

本文详细介绍了在Ubuntu 16.04系统中配置DAMASK与ABAQUS2017联合仿真环境的完整流程,涵盖系统基础环境搭建、Python科学计算环境构建、DAMASK核心安装与配置,以及ABAQUS集成与联合调试。通过实战案例和高级调试技巧,帮助用户快速掌握有限元分析中的晶体塑性模拟技术。

weixin_29253711的博客 857

【C2000系列DSP的Bootloader详解】如何利用脚本自动合并Bin文件

本文通过OutconvertBin.py实现了 C2000 Bootloader+UserApp 的「ELF 转 BIN+BIN 合并」全流程自动化,核心优势如下: 架构适配:严格遵循 C28x 16 位大端格式,生成的 BIN 文件可直接烧录; 自动化程度高:一键完成清理、转换、合并,无需手动执行多个命令; 可追溯性:生成 CRC32 校验值,便于验证文件完整性; 量产友好:合并后的merged.bin支持一次性烧录,提升量产效率。

昔时扬尘处 183

@Configuration 和 @Component 的区别

一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。 理解:调用@Configuration类中的@Bean注解的方法,返回的是同一个示例;而调用@Component类中的@Bean注解的方法,返回的是一个新的实例

sinat_31583645的博客 651

Orange3实战教程:转换---预处理

部件提供了多种预处理方法,这些方法可以在单个预处理流程中组合使用。某些方法也可作为独立部件提供,支持更高级的技术和参数调整。连接到测试与评分:在交叉验证的每个批次中应用预处理器,随后学习器的预处理器会作用于预处理后的子集。连接到学习器:覆盖学习器的默认预处理流程,仅应用自定义流程(各学习器的默认步骤详见其文档)。直接连接到原始数据并输出预处理后的数据集,可能导致模型过拟合。:从原始数据中随机选择固定数量或百分比的特征,主要用于高级测试或教学用途。的预处理器输入,同时传入数据和学习器(如。

err2008的专栏 147

一道经典面试题:@Configuration 和 @Component 有何区别?

无论小伙伴们之前是否背过相关的面试题,今天这篇文章学完之后相信大家对这个问题都会有更深一层的理解,废话不多少,咱们开始分析。

江南一点雨的专栏 1426

github创建账号第一步始终出错

github创建账号总结:第一次注册GitHub,填好用户名邮箱密码后进入下一步就卡在哪里,上面还提示Unable to verify your captcha response等,进入网址的解决办法以及下载其他的浏览器也无法解决,用手机浏览器抱着试一试的心态竟然成功了,分享给大家。手机下载谷歌浏览器,进入GitHub正常注册,能向下继续,邮箱验证完以后再用电脑登陆就ok啦

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 4375

35、使用 Geo 创建 GitLab 的分布式只读副本

本文详细介绍了如何使用GitLab Geo功能创建分布式只读副本,涵盖数据库主从配置、SSH密钥查找方式更改、通过Web UI添加从节点、激活哈希存储及状态检查等关键步骤。同时提供了常见问题解答和配置流程图,帮助用户快速部署并维护Geo集群,实现跨地域的高效数据同步与高可用架构。

chair的专栏 80

@Configuration 和 @Component 到底有啥区别?

Spring 注解中 @Configuration 和 @Conponent 区别总结为一句话就是: @Configuration 中所有带 @Bean 注解的方法都会被动态代理(cglib),因此调用该方法返回的都是同一个实例。而 @Conponent 修饰的类不会被代理,每实例化一次就会创建一个新的对象。

S mile0804的博客 2万+

基于CutLSTM-ATT 模型的刀具磨损预测-【一个月之内发一篇中文核心辅导】

基于CutLSTM-ATT 模型的刀具磨损预测-【一个月之内发一篇中文核心辅导】

315

@Configuration 与 @Component 的区别

从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。Web 应用程序采用了经典的三层分层结构的话,最好在持久层、业务层和控制层分别采用 @Repository、@Service 和 @Controller

weixin_50055999的博客 1665

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

@Configuration 和 @Component 有什么区别?为什么有些配置类要用 @Configuration?

Component用途首选,用于定义Bean的配置类,特别是当Bean之间有依赖关系时。用于普通的业务组件。不推荐在其中定义有相互依赖的@Bean方法。行为通过CGLIB代理,保证@Bean方法调用返回容器中的单例Bean。普通Java方法调用,每次都创建新对象,绕过容器管理。何时使用只要你的配置类里有@Bean方法,特别是它们之间有调用关系,就必须使用。当你的类只是一个简单的业务组件(如Service),或者你的配置类里的@Bean方法完全独立,没有相互调用时(但依然不推荐)。

专注于技术分享 1191

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Spring 之 @Component 和 @Configuration 两者区别以及源码分析

之前一直搞不清 @Component 和 @Configuration 这两个注解到底有啥区别,一直认为被这两修饰的类可以被 Spring 实例化嘛,不,还是见识太短,直到今天才发现这两玩意有这么大区别。很幸运能够及时发现,后面可以少走点坑,下面就直接通过最简单的案例来说明它两的区别,颠覆你的认知。

龚小帅的博客 4705

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

@Component与@Configuration的区别

它是其他特定组件注解(如 @Service、@Repository、@Controller)的基础注解,这些特定注解本质上都是 @Component 的派生注解,功能上是等价的,只是为了在语义上更清晰地表达组件的用途。这意味着在 @Configuration 类的 @Bean 方法内部调用其他 @Bean 方法时,Spring容器会确保返回的是同一个Bean实例,而不是创建新的实例。这意味着在该类的方法内部调用其他方法时,不会经过Spring容器的管理,调用的只是普通的Java方法。

kt2002011的博客 537

【Spirng】@Component和@Configuration和@Bean的区别

obtainBeanInstanceFromFactory 方法比较简单,就是通过 beanFactory.getBean 获取 Country,如果已经创建了就会直接返回,如果没有执行过,就会通过 invokeSuper 首次执行。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中。@Configuration 注解定义的 bean 方法中可以直接调用方法,不需要 @Autowired 注入后使用。Spring的@Bean注解用于告诉。

m0_46628950的博客 1169

@configuration和@component之间的区别是什么?

@configuration和@component之间的区别是什么?

weixin_44119329的博客 2万+

Spring @Configuration 和 @Component 区别

Spring @Configuration 和 @Component 区别 一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。 下面看看实现的细节。@Configuration 注解:@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Docu

偶尔记一下 - mybatis.io 12万+

@Configuration和@Component的区别

@Configuration和@Component注解的区别

adminstate的博客 676
上一篇: Mysql 连接远程数据库
下一篇: linux 安装 jdk
小小代码熊
博客等级 码龄7年 5粉丝 77原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值