SpringBoot - @Component注解使用详解

通过案例说明Spring中@Component的使用 通过案例说明Spring中@Component的使用 1 @Component介绍 @Component大致可以分为以下几个注解: a.@controller 控制器(注入服务),用于标注控制层组件(如struts中的action) b.@service 服务(注... 阅读详情
AI摘要

@Component注解是Spring框架中用于将普通类纳入管理的重要注解,它的扩展如@Service、@Repository和@Controller分别对应不同业务层。这些注解使得类能够被Spring容器识别并自动实例化,简化了传统XML配置。了解这些注解的使用,有助于更好地组织和管理Spring应用中的组件。

@Component注解的作用是什么?

@Component的作用是把普通POJO实例化到Spring容器中,相当于配置文件中的,@Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。基于@Component注解有三个扩展,分别是:@Repository 、@Service、 @Controller。被他们四个标注的类,会被纳入到Spring容器中进行管理。除了上面的四个注解外,用户可以创建自定义的注解,然后在自定义的注解上标注 @Component,那么,该自定义注解便具有了与@Component 相同的功能。

@Component注解如何使用?

基于@Component注解有三个扩展,分别是:@Repository 、@Service、 @Controller,他们只是分别具有不同的业务含义,但是被@component 、@Controller 、@Service、@Repository 注解的类,都会把这些类纳入进Spring容器中进行管理。

1、@Component:标注一个普通的POJO实例化到Spring容器中,它是一个通用泛化的注解,当某个组件不能通过业务进行归类时,可以使用这个注解进行标注。
2、@Controller: 用于标注控制层组件。
3、@Service: 用于标注业务层组件。
4、@Repository : 用于标注持久层组件。

如何使用 @Component 注解创建、扫描和使用 Spring Bean 本文将详细解释 @Component 注解,并提供一个完整的示例代码,演示如何使用 @Component 注解创建、扫描和使用 Spring Bean。在示例代码中,我们将创建一个简单的图书管理应用,其中包含图书 Book 和图书馆 Library 两个组件,并使用 @Component 注解进行管理。 阅读详情

相关推荐

C#上位机实战:借助NetToPLCSim与西门子S7-1200仿真通信全攻略

本文详细介绍了如何使用C#开发上位机程序,通过NetToPLCSim与西门子S7-1200进行仿真通信的全过程。从环境准备、PLC仿真环境搭建、网络配置到C#代码实现,提供了完整的实战指南和常见问题解决方案,帮助开发者快速掌握工业自动化通信技术。

weixin_30596343的博客 440

@Component注解的作用

Spring自带的@Component注解及扩展 @Component:定义Spring管理Bean @AspectJ风格的切面可以通过@Compenent注解标识其为Spring管理Bean,而@Aspect注解不能被Spring自动识别并注册为Bean,必须通过@Component注解来完成 Java代码 @Component @Aspect publicclassTestAspect{ @Pointcut(value="execution(...

此人很懒,什么也没有留下~ 5万+

在Ubuntu上通过Wine完美运行企业微信的详细指南

本文提供了在Ubuntu系统上通过Wine兼容层安装和运行企业微信的详细教程。针对官方未提供Linux版本的痛点,指南推荐使用Ubuntu Kylin团队优化打包的Wine环境,通过简单的命令行步骤即可完成部署,并涵盖启动、中文输入法配置、文件管理等常见问题的解决方案,帮助用户实现高效、稳定的办公沟通。

weixin_29306317的博客 233

Spring中@component的使用

Spring中@component的使用 @component是spring中的一个注解,它的作用就是实现bean的注入,@component取代。在探究@component前先了解一下注解?何为注解?注解本质上就是一个类,开发中我们可以使用注解 取代 xml配置文件。 web开发,提供3个@Component注解衍生注解(功能一样)取代 @Repository(“名称”):dao层 @Servi...

不怕万人阻挡,只怕自己投降 20万+

GD32F303片内FLASH实战:从地址映射到数据持久化存储

本文详细介绍了GD32F303片内FLASH的实战应用,从地址映射到数据持久化存储的全过程。通过解析FLASH的基础特性、安全操作区域规划、擦除写入读取的三重奏操作,以及工程化进阶技巧,帮助开发者高效利用片内FLASH进行数据存储。文章还提供了调试技巧和常见问题解决方案,特别适合嵌入式开发者在实际项目中应用。

weixin_26742753的博客 218

中国区ASP服务性规范考试

10、每次现场维护服务,工程师需按照400要求达到现场的时间与客户联系,在抵达现场、故障恢复后两个时间点分别向400报CALL ,如与客户联系变更到现场时间点,也需向400电话备案(400-822-9999)……20、工程师小B 在接到客户故障申报后赶到客户现场,发现问题无法解决,于是及时将情况反馈至技术支持响应工程师小C ,小B 就和小C 协商由小C 远程解决此问题,后小B 离开客户现场。18、小L 到客户现场交付安装服务。6、EPMS 中上载初验证书的命名规则为:合同号+初验的客户签署日期……

2301_76197693的博客 1910

@component的作用详细介绍

最近项目要采用spring boot在学习的spring boot 的过程中第一次见到@component注解,特意在网上搜索下,摘录在此方便日后查阅。 1、@controller 控制器(注入服务)用于标注控制层,相当于struts中的action层 2、@service 服务(注入dao)用于标注服务层,主要用来进行业务的逻辑处理 3、@repository(实现dao访问)用...

weixin_38168484的博客 6万+

Excel数字变成了小数点+E+17?这些方法帮你解决!

本文介绍了三种解决Excel中数字变成小数点+E+17问题的方法:通过下拉箭头或右键菜单设置单元格格式为文本、使用TEXT函数将科学计数法转换为文本。这些方法各有优缺点,适用于不同的场景和需求。在实际应用中,我们可以根据具体情况选择合适的方法来解决问题。通过以上方法,我们可以轻松地从繁琐的小数点+E+17问题中解脱出来,更便捷地处理Excel中的数字。希望本文能够帮助到您,让您在使用Excel时更加得心应手!

nntxthml的博客 1248

Spring Boot @Component注解介绍

是 Spring 中的一个核心注解,用于声明一个类为 Spring 管理的组件(Bean)。它是一个通用的注解,可以用于任何层次的类(如服务层、控制器层、持久层等)。这些注解的作用是标记类为 Spring 的 Bean,并且可以根据注解的类型提供额外的语义信息(例如,:当一个类不属于特定的层次(如服务层、控制器层等),但需要被 Spring 管理时,可以使用。你可以在其他组件中通过。:当需要将第三方库的类注册到 Spring 容器中时,可以使用。是一个通用注解,但在实际开发中,更推荐使用更具体的注解(如。

a876106354的博客 3150

VS2022离线安装总闪退?可能是这个--noWeb参数没加对(完整参数指南)

本文深入解析了VS2022离线安装过程中常见的闪退问题,指出核心原因往往在于命令行参数使用不当,特别是`--noWeb`参数。文章提供了完整的参数使用指南和实战解决方案,包括证书处理、安装器文件修复及自动化脚本,帮助用户彻底解决离线部署中的验证失败与闪退难题。

weixin_28842269的博客 758

基于 STM32 设计的 HC05 蓝牙音箱

本项目介绍如何使用 STM32 微控制器和 HC05 蓝牙模块设计一个简单的蓝牙音箱。该音箱可以接收来自手机或其他蓝牙设备的音频数据,并通过扬声器播放。该项目展示了如何使用 STM32 微控制器和 HC05 蓝牙模块设计一个简单的蓝牙音箱。易于实现功能实用可扩展性强如果您需要开发一个蓝牙音箱,该项目可以作为参考。

走向CTO的路上... 2471

一文掌握SpringBoot注解之@Component 知识文集(2)

在 Spring 中,@Component注解的默认名称是将类名的首字母小写作为 Bean 的名称。例如,类名为的 Bean,默认的名称就是。尽管默认的名称是根据类名自动生成的,但是你也可以通过value属性来显式地指定自定义名称,以便更好地描述你的 Bean。// ...在上述示例中,@Component注解的value属性被设置为,从而将该 Bean 的名称指定为,而不再使用默认的类名生成的名称。当使用自定义名称时,可以在其他地方通过该名称引用该 Bean。例如,在 XML 配置文件中使用。

m0_50308467的博客 3594

复现论文《孤岛微电网环境下基于物理模型引导的深度强化学习VSG频率控制方法》

本文提出了一种结合物理模型与深度强化学习的孤岛微电网VSG频率控制方法。通过建立VSG小信号模型并设计可变系数控制器,将物理知识融入深度强化学习框架,解决了高维参数和机组耦合带来的控制难题。复现代码实现了三个核心组件:VSGSmallSignalModel建模VSG动态特性,VariableCoefficientController实现参数自适应调节,PhysicsGuidedDRL整合DQN算法与物理模型引导的奖励机制。该方法通过模型驱动与数据驱动的优势互补,提升了频率控制性能,其中物理模型既作为先验知识

huanghm88的专栏 127

SpringBoot中@Configuration和@Component注解

使用 @Configuration和@Component都是使用于配置类上以代替XML文件中<beans>标签; @Configuration是@Component的扩展,同样类似的扩展还有@Repository、@Service、@Controller、@RestController等等,而后面四个都是用于传统三层架构中使用的注解; 在被@Configuration注解的类中所有带有@Bean注解的方法都会被CGLib动态代理,而后每次调用这些方法时返回的都是第一次返回的实例; 被@Conf

plpldog的博客 3958

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

一文掌握SpringBoot注解之@Component 知识文集(3)

Component注解是 Spring 框架中常用的注解之一,用于将类注册为 Spring Bean,交由 Spring 容器进行管理。除了基本的value属性外,@Component注解还提供了stereotype属性,用于进一步标记组件的角色和性质。stereotype属性是一个枚举类型,包含了 Spring 框架中常用的组件角色,例如@Service等。使用stereotype属性可以更加明确地表达组件的职责和用途,提高代码的可读性和可维护性。以下是@Component@Component。

m0_50308467的博客 2005

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

springboot-注解-@Repository、@Service、@Controller 和 @Component

Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。 在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。 1、@Component @Comp...

zhizhuodewo6的博客 4万+

SpringBoot注解之@Configuration、@Bean、@Component

SpringBoot注解之@Configuration、@Bean、@Component 首先:我们先简单描述一下这三个的作用 @Component注解表明一个类会作为组件类,并告知Spring要为这个类创建bean。 @Bean注解告诉Spring这个方法将会返回一个对象,这个对象要注册为Spring应用上下文中的bean。通常方法体中包含了最终产生bean实例的逻辑。用于显式声明单个bean,而不是让Spring像上面那样自动执行它。它将bean的声明与类定义分离,并允许您精确地创建和配置bean。另外

舌尖上的蛋炒饭的博客 2871

Spring Boot中Stereotype注解详解 @Component @Service @Repository @Controller @RestController 以及 @Mapper

简单理解:Stereotype注解可以看作是“分类标签”。你给一个Java类贴上不同的标签(注解),Spring容器在启动时就会扫描这些标签,并根据标签的含义,自动创建这些类的对象(即Bean),并管理它们的生命周期和依赖关系。核心机制:这一切都基于Spring的组件扫描(Component Scanning)。默认情况下,Spring Boot会扫描主应用类所在包及其所有子包下的类。注解含义层主要用途@Component通用组件任意不属于其他类的通用Bean@Service业务逻辑。

BillKu的博客 1076

SpringBoot中@Component注解无法使用@Autowired注解的问题

SpringBoot中@Component注解无法使用@Autowired注解的问题 一、问题原因 springboot 项目中某些情况下@Component注解下@Autowired的类为null的情况,也就是没注入成功,或者是此类在bean加载之前就被调用了。 二、解决办法 问题代码 redisService为空导致空指针异常 @Component public class TestUtil{ @Autowired private RedisService redisService; publi

jf991804033的博客 6663

spring boot 注解@Component

@Component。 Spring提供进一步典型的注解:@Component,@Service,和 @Controller。@Component是任何Spring托管组件的通用注解。 而@Repository,@Service和@Controller是@Component针对更特定用例的专业化(分别在持久性,服务和表示层)。因此可以用他们来注解你的组件类与@Component具有同样作用,通过与注解它们@Repository,@Service或者@Controller ,你能更好的区分数据,业务,控制层

yu15050186065的博客 3704

一文掌握SpringBoot注解之@Component 知识文集(5)

在 Spring 中,定义切入点(Pointcut)是通过@Pointcut注解来实现的。而@Pointcut注解通常与@Aspect注解一起使用,在切面(Aspect)类中定义切入点。不过,可以通过@Component注解来定义一个切面(Aspect)类,并在该类中定义切入点。1.在类上添加@Component注解,并使用@Aspect注解表示这个类是一个切面类。@Aspect@Component//定义切入点和切面方法2.在类中定义一个方法,并使用@Pointcut注解来定义切入点。

m0_50308467的博客 1180

一文掌握SpringBoot注解之@Component 知识文集(6)

有时候我们需要在容器启动时立即初始化某些组件,以确保它们的依赖关系正常建立以及其它初始化逻辑的执行。这时就可以将 `eager` 属性设置为 `true`,从而使得带有 `@Component` 注解的组件在容器启动时立即进行初始化。

m0_50308467的博客 1325

一文掌握SpringBoot注解之@Component 知识文集(4)

在 Spring 中,可以使用@Component注解来定义切面(Aspect)。切面是一种用于横切关注点(如日志记录、事务管理等)的组件,它可以通过@Aspect注解来声明。下面是使用@Component@Component@Aspect// 执行前置通知代码// 其他通知(如 @After, @AfterReturning, @AfterThrowing 等)和切点定义等在上述示例代码中,类被标记为@Component注解,以将它声明为一个 Spring Bean。

m0_50308467的博客 1816

一文掌握SpringBoot注解之@Component 知识文集(1)

@Component 是 Spring 框架中的一个注解,在使用该注解时可以指定需要扫描的包路径,Spring 会自动扫描指定路径下的所有类,并将标有@Component及其派生注解(@Service等)的类自动注入到 Spring 容器中进行管理。使用注解可以避免手动进行 Bean 的注册操作,也可以提高代码的可维护性和可读性,减少冗余代码,方便进行组件解耦和重构。通常情况下,我们会将在上述示例代码中,使用注解来指定了要扫描的包路径,Spring 会自动扫描包及其子包下所有标记有@Component。

m0_50308467的博客 5589

Spring Boot 注解-@Repository、@Service、@Controller 和 @Component

一切的开始都是艰难的开始,只有多多思考,最终才能达成目标!! Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控...

jomes_wang的博客 986

学习Spring boot 注解 @Value @Component @ConfigurationProperties

1、@Value        从当前的配置文件中读取参数,格式为 @Value("${TypeName}") private Type typeName;       会自动进行类型转换。 2、@Component       只有加了这个注解的类才可以被@Autowired使用。 3、@ConfigurationProperties       从当前的配置文件中读取一整个集

qq_32881383的博客 1548
上一篇: SpringBoot - @ComponentScan注解使用详解
下一篇: SpringBoot - @EnableConfigurationProperties注解使用详解
cloneme01
博客等级 码龄20年 2万+粉丝 248原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值