首页 > 其他分享 >Spring Boot中的常用注解

Spring Boot中的常用注解

时间:2024-10-09 20:43:36浏览次数:10  
标签:HTTP Spring Boot Bean 细节 注解 作用

在Spring Boot中,常用注解及其含义如下:

一、核心注解

  1. @SpringBootApplication

    • 作用:标注一个主程序类,表明这是一个Spring Boot应用程序的入口。

    • 功能:这是一个复合注解,组合了@Configuration、@EnableAutoConfiguration和@ComponentScan。

  2. @EnableAutoConfiguration

    • 作用:启用Spring Boot的自动配置机制,根据项目中的依赖和应用上下文自动配置Spring应用程序。

    • 细节:它会尝试根据添加的依赖和项目中的配置自动配置Spring Bean。例如,如果项目中有HSQLDB的依赖,Spring Boot会自动配置一个内存数据库。

  3. @ComponentScan

    • 作用:自动扫描指定包及其子包中的Spring组件。

    • 细节:默认情况下,@ComponentScan会扫描主应用类所在的包及其子包。

  4. @Configuration

    • 作用:标识一个类作为配置类,相当于一个Spring XML配置文件。

    • 细节:配置类可以包含一个或多个@Bean注解的方法,这些方法会返回要注册到Spring应用上下文中的Bean。

二、组件注解

  1. @Component

    • 作用:将一个类标识为Spring组件(Bean),可以被Spring容器自动检测和注册。

    • 细节:@Component是一个通用的注解,可以用来标注任何Spring管理的Bean。

  2. @Service

    • 作用:标识服务层组件,实际上是@Component的一个特化,用于表示业务逻辑服务。

    • 细节:用于标识服务层的类,这些类通常包含业务逻辑。

  3. @Repository

    • 作用:标识持久层组件,实际上是@Component的一个特化,用于表示数据访问组件。

    • 细节:数据访问组件通常是指在软件系统中负责数据访问和持久化的部分或模块。

  4. @Controller

    • 作用:标识控制层组件,实际上是@Component的一个特化,用于表示Web控制器。

    • 细节:用于标识Spring MVC控制器,处理Web请求并返回视图。

  5. @RestController

    • 作用:标识一个RESTful Web服务的控制器,实际上是@Controller和@ResponseBody的结合。

    • 细节:返回的对象会自动序列化为JSON或XML,并写入HTTP响应体中。

三、请求映射注解

  1. @RequestMapping

    • 作用:映射HTTP请求到处理方法上(GET、POST、PUT、DELETE等)。

    • 细节:可以用于类或方法上,支持各种HTTP请求方法。

  2. @GetMapping

    • 作用:映射HTTP GET请求到处理方法上。

    • 细节:是@RequestMapping的简化版,专门用于GET请求。

  3. @PostMapping

    • 作用:映射HTTP POST请求到处理方法上。

    • 细节:是@RequestMapping的简化版,专门用于POST请求。

四、参数处理注解

  1. @RequestParam

    • 作用:用于接收URL中的查询参数。

    • 细节:可以指定参数名、是否必填以及默认值。

  2. @PathVariable

    • 作用:用于接收URI路径中的参数值。

    • 细节:常用于RESTful服务中,允许动态地将URL中的部分作为方法参数使用。

  3. @RequestBody

    • 作用:将HTTP请求体的内容(如JSON、XML等)映射到一个Java对象。

    • 细节:通常用于POST请求中,将客户端发送的数据绑定到方法的参数上。

  4. @ResponseBody

    • 作用:将方法的返回值转换为指定格式(如JSON、XML)作为HTTP响应的内容返回给客户端。

    • 细节:常用于RESTful服务中,标识方法返回的对象不是视图名称,而是直接写入HTTP响应体中的数据。

五、其他常用注解

  1. @Autowired

    • 作用:基于注解方式进行自动装配,在容器里面将查找到的Bean返回。

    • 细节:可以配合@Qualifier使用来指定具体的Bean。

  2. @Qualifier

    • 作用:与@Autowired配合使用,用于指定具体的Bean。

    • 细节:当存在多个相同类型的Bean时,需要使用@Qualifier来指定要注入的Bean。

  3. @Value

    • 作用:用于获取配置文件中的值。

    • 细节:通常与application.properties或application.yml配置文件配合使用。

  4. @ConfigurationProperties

    • 作用:将配置信息封装为实体类。

    • 细节:可以用于将配置文件中的多个属性一次性注入到一个实体类中。

  5. @PropertySource

    • 作用:将配置文件中的内容存储到环境中。

    • 细节:通常与@Value或@ConfigurationProperties配合使用,但注意@PropertySource不支持yml文件读取。

这些注解在Spring Boot中起着至关重要的作用,它们简化了配置、提高了开发效率,并使得代码更加清晰和易于维护。

标签:HTTP,Spring,Boot,Bean,细节,注解,作用
From: https://www.cnblogs.com/wzihan/p/18455108

相关文章

  • Spring Boot 3 配置 Redis 兼容单例和集群
    配置项SpringBoot3.x的redis配置和SpringBoot2.x是不一样的,路径多了一个dataspring:...data:redis:host:@redis.host@port:@redis.port@password:@redis.password@database:@redis.database@兼容单例和集群的配置开发......
  • 【笔记篇】一篇文章搞定Spring Boot框架
    文章目录概述一、概述接口协议:RESTFUL二维码直接输出定时任务基本用法Cron表达式拦截器缓存技术模板引擎基本使用自定义标签异常处理常用异常捕获多环境配置公共的配置可放在主配置文件中,其它依赖特殊环境的配置放在对应环境的文件中即可。工程打成jar包后,可以在运行的......
  • springboot 整合 rabbitMQ(2)
    springboot整合rabbitMQ(1)-CSDN博客上期说了rabbitMQ的基础用法(普通队列模式)这期学习一下如何防止消息重复消费和进阶用法(订阅者模式)目录重复消费问题导致RabbitMQ重复消费问题的原因:解决思路代码实现(这里在上一期的代码上进行修改)生产者:消费者:订阅者模式:是什么:......
  • redis集成到spring boot中使用
    (一)添加依赖  redis服务器在官网中公开了自己使用的协议--RESP,所以我们可以使用这个协议来访问redis服务器,但是如果我们要自己实现库,那肯定是非常麻烦的,所以我们可以使用网上的库,我们直接调用接口,不需要关注redis协议的细节,我们这里使用的是jedis<dependency> <groupId......
  • 基于Springboot房屋租赁管理系统【附源码+文档】
    ......
  • 【springboot9736】基于springboot+vue的逍遥大药房管理系统
    作者主页:Java码库主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。收藏点赞不迷路 关注作者有好处文末获取源码项目描述伴随着全球信息化发展,行行业业都与计算机技术相衔接,计算机技术普遍运用于药房......
  • 【源码+文档+调试讲解】基于安卓的小餐桌管理系统springboot框架
    摘 要相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低运营人员成本,实现了小餐桌的标准化、制度化、程序化的管理,有效地防止了小餐桌的随意管理,提高了信息的处理速度和精确度,能够及时、准确地查询和修正餐桌信息、餐桌预订、入座信息、菜品信息、点餐信息、书籍......
  • spring上 -基于Xml配置bean笔记
    4,Spring内容   7,快速入门 需求:通过Spring的方式[配置文件],获取JavaBean:Monster的对象,并给该的对象属性赋值,输出该对象信息.代码结构:lib目录是自己创建的,然后再引入5个jar包 源码:beans.xml<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="......
  • ElasticSearch7.17.3简介+centos7详细安装教程+Springboot整合ES
    一、ElasticSearch简介    官方地址:Elasticsearch:官方分布式搜索和分析引擎|Elastic1.1ElasticSearch简介        Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,同时是可扩展的数据存储和矢量数据库,能够应对日益增多的各种用例。作为......
  • Java基于SpringBoot的高校体育运动会比赛项目报名系统 +Vue[毕业设计]
    文末获取资源,收藏关注不迷路文章目录项目介绍技术介绍项目界面关键代码目录项目介绍在高等教育体系中,体育运动会不仅是增强学生体质、培养团队精神的重要途径,也是校园文化的重要组成部分。然而,传统的高校体育运动会报名方式往往存在诸多不便,如报名流程繁琐、信息更......