常用的 Spring Boot 注解及其作用

embedded/2024/11/15 6:08:28/

1、常用注解介绍:

Spring Boot 提供了许多注解来简化开发,并帮助开发者在 Spring 应用中实现各种功能。以下是一些常用的 Spring Boot 注解及其作用:

  1. @SpringBootApplication

    • 作用:用于标识主启动类,通常位于 Spring Boot 应用的入口类上。
    • 功能:该注解整合了三个常用注解:@Configuration@EnableAutoConfiguration 和 @ComponentScan,用于开启自动配置和组件扫描。
  2. @RestController

    • 作用:用于定义 RESTful 风格的控制器,通常用于处理 HTTP 请求并返回 JSON 或 XML 格式的数据。
    • 功能:相当于 @Controller 和 @ResponseBody 的组合,用于标识控制器类,并指示 Spring MVC 框架将方法的返回值序列化为 JSON 或 XML。
  3. @RequestMapping

    • 作用:用于将 HTTP 请求映射到控制器的处理方法上。
    • 功能:指定请求的 URL 路径和请求方法(GET、POST、PUT、DELETE 等),使得控制器能够处理特定的 HTTP 请求。
  4. @Autowired

    • 作用:用于自动装配 Spring Bean。
    • 功能:通过类型匹配将 Spring 容器中的 Bean 自动注入到标注了 @Autowired 的字段、方法或构造函数中,省去了手动注入的步骤。
  5. @Service@Repository@Controller

    • 作用:分别用于标识服务层、持久层和控制器层的组件。
    • 功能:通过这些注解,Spring Boot 能够自动扫描并将这些类识别为 Spring Bean,并加入到应用的上下文中。
  6. @Configuration@Bean

    • 作用:用于定义配置类和声明 Bean。
    • 功能:@Configuration 用于标识配置类,@Bean 用于声明 Bean,将方法的返回值作为 Bean 注入到 Spring 容器中。
  7. @Value

    • 作用:用于注入配置文件中的属性值。
    • 功能:通过 @Value 注解,可以将配置文件中的属性值注入到字段、方法或构造函数中,方便获取配置信息。
  8. @ComponentScan

    • 作用:用于指定 Spring 扫描组件的基础包。
    • 功能:通过 @ComponentScan 注解,可以告诉 Spring 在指定的包及其子包中扫描并注册所有带有 @Component 注解的类。

2、@Component 注解和 @Bean 注解区别

在 Spring 框架中,@Component 注解和 @Bean 注解都用于创建 Bean 对象,但它们之间存在一些区别:

  1. 作用对象

    • @Component 注解可以用于标识任何类为 Spring 组件(Bean),包括服务层、持久层和控制器层的类。
    • @Bean 注解通常用于配置类中的方法,用于声明某个方法返回的对象为一个 Bean。
  2. 使用方式

    • @Component 注解通常通过在类上直接使用来声明一个 Bean。
    • @Bean 注解通常通过在配置类中的方法上使用,将方法的返回值声明为一个 Bean。
  3. 作用范围

    • @Component 注解是一种泛化的声明,表示一个受 Spring 管理的组件,它的具体作用范围可以通过其他特定的注解来区分,如 @Service@Repository@Controller
    • @Bean 注解通常用于声明一个具体的 Bean,开发者可以在配置类中定义需要创建的 Bean,并可以指定其作用域、初始化方法、销毁方法等。
  4. 依赖注入

    • 通过 @Component 注解声明的 Bean 通常需要 Spring 容器在启动时自动扫描并进行依赖注入。
    • 通过 @Bean 注解声明的 Bean 则需要手动在配置类中进行声明,开发者可以通过配置方法的参数来实现依赖注入,或者通过 @Autowired 注解来注入其他 Bean。

总的来说,@Component 注解是一种更为泛化的声明方式,用于声明任意的 Spring 组件,而 @Bean 注解则更加具体,用于在配置类中声明需要被 Spring 管理的 Bean。在实际应用中,两者通常会根据具体的需求和场景来选择使用。


http://www.ppmy.cn/embedded/7895.html

相关文章

ExpertPrompting:指导大语言模型成为杰出专家

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 论文标题:ExpertPrompting: Instructing Large Language Models to be Distinguished Experts 论文地址:https://arxiv.org/abs/2305.14688 作者 & 机构:Benfen…

边缘计算网关有哪些优势?-天拓四方

随着信息化、智能化浪潮的持续推进,计算技术正以前所未有的速度发展,而边缘计算网关作为其中的重要一环,以其独特的优势正在逐步改变我们的生活方式和工作模式。本文将详细解析边缘计算网关的优势。 首先,边缘计算网关具有显著的…

Day08React——第八天

useEffect 概念:useEffect 是一个 React Hook 函数,用于在React组件中创建不是由事件引起而是由渲染本身引起的操作,比如发送AJAx请求,更改daom等等 需求:在组件渲染完毕后,立刻从服务器获取频道列表数据…

DDoS攻击愈演愈烈,谈如何做好DDoS防御

DDoS攻击是目前最常见的网络攻击方式之一,各种规模的企业包括组织机构都在受其影响。对于未受保护的企业来讲,每次DDoS攻击的平均成本为20万美元。可见,我们显然需要开展更多的DDoS防御工作。除考虑如何规避已发生的攻击外,更重要…

Spark和Hadoop的安装

实验内容和要求 1.安装Hadoop和Spark 进入Linux系统,完成Hadoop伪分布式模式的安装。完成Hadoop的安装以后,再安装Spark(Local模式)。 2.HDFS常用操作 使用hadoop用户名登录进入Linux系统,启动…

随机森林计算指标重要性—从决策树到随机森林Python实现

文章目录 前言一、节点二、决策树2.1 案例分析——优良的水稻2.2 案例分析——家庭财富水平 三、随机森林三、Python代码实现3.1 关键问题3.1.1 节点的表示3.1.2 决策树的表示** 根节点划分左右子树的依据 **3.1.3 随机森林的构造与重要性的表示 3.2 节点类3.2 决策树类3.2.1 初…

python安装transformers包@FreeBSD

Transformers 提供了数以千计的预训练模型,支持 100 多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。它的宗旨是让最先进的 NLP 技术人人易用。 🤗 Transformers 提供了便于快速下载和使用的API,让你可以把预训练模型用在给定文…

预约小程序新选择:强大后端管理功能一览

拥有一个功能齐全、操作便捷的小程序对于商家来说至关重要。为了满足广大商家的需求,乔拓云平台提供了丰富的模板资源,帮助用户快速搭建预约型小程序,并配备了强大的后端管理功能,让商家能够轻松管理预约订单,提升运营…