SpringBoot最常用的注解

1、@RestController

作用:与@Controller类似,但是@RestController会自动将返回值转换为JSON格式。

2、@RequestMapping

作用:用于映射请求URL和处理方法。

@RequestMapping是Spring MVC框架中的一个核心注解,它用于映射HTTP请求和控制器方法之间的关系。它可以用于类级别和方法级别,用于指定请求URL和HTTP方法(GET、POST、PUT、DELETE等)。

3、@ResponseBody

作用:用于将方法的返回值转换为HTTP响应的主体。

@ResponseBody是Spring MVC框架中的一个注解,用于将控制器方法的返回值转换为HTTP响应体中的数据。

4、@Autowired

作用:用于自动装配Spring容器中的Bean。

5、@Component

作用:用于标识一个类是Spring容器中的组件。

@Component是Spring框架中的一个通用注解,用于标注一个类作为Spring Bean。

6、@Service

作用:用于标识一个类是Spring容器中的服务组件。

@Service是Spring框架中的一个注解,用于标注一个类作为服务类(Service)。

7、@Configuration

作用:用于标识一个类是Spring的配置类。

@Configuration是Spring框架中的一个注解,用于标注一个类作为配置类。

8、@Bean

作用:用于将一个方法返回的对象注册到Spring容器中。

@Bean是Spring框架中的一个注解,用于将一个方法返回的对象注册为一个Spring Bean。

9、@Conditional

作用:用于根据条件判断是否创建Bean或执行配置。

10、@PropertySource

作用:用于指定配置文件的位置。

@PropertySource是Spring框架中的一个注解,用于指定一组属性文件的位置,从而可以在Spring应用程序中使用这些属性。

11、@ExceptionHandler

作用:用于处理异常。

12、@ResponseStatus

作用:用于指定异常的HTTP响应状态码。

13、@ControllerAdvice

作用:用于全局处理异常。

@ControllerAdvice是Spring框架中的一个注解,用于定义全局控制器通知。

在Spring MVC框架中,控制器通知是一些特殊的组件,它们可以在控制器方法执行前、执行后或抛出异常时执行一些额外的逻辑处理。使用@ControllerAdvice注解可以定义全局控制器通知,它可以应用于所有的控制器。

14、@CrossOrigin

作用:用于解决跨域问题。

@CrossOrigin是Spring框架中的一个注解,用于解决跨域资源共享(CORS)问题。

跨域资源共享是浏览器安全策略的一部分,它限制了浏览器在不同域名之间发送和接收HTTP请求。使用@CrossOrigin注解可以指定允许跨域访问的域名和HTTP方法。

15、@Async

作用:用于将方法标记为异步执行。

在Spring框架中,如果一个方法需要执行一些比较耗时的操作,如果这个方法是在主线程中执行,就会导致主线程被阻塞,用户界面无法响应用户的操作。使用@Async注解可以将这个方法的执行异步化,让主线程继续执行其他任务,提高应用程序的响应性能。

16、@Cacheable

作用:用于缓存方法的返回值。

在Spring框架中,如果一个方法的返回结果是固定的,而且这个方法的执行比较耗时,我们可以使用@Cacheable注解将这个方法的返回结果缓存起来,下次执行这个方法时直接从缓存中获取结果,避免重复执行。

17、@CacheEvict

作用:用于清除缓存。

@CacheEvict是Spring框架中的一个注解,用于清空缓存中的数据。

在Spring框架中,如果一个方法的执行会导致缓存数据的失效,我们可以使用@CacheEvict注解将这个方法的缓存数据清空,这样下次执行这个方法时就会重新查询数据并缓存起来。

18、@CachePut

作用:用于更新缓存中的数据。

@CachePut是Spring框架中的一个注解,用于更新或添加缓存中的数据。

在Spring框架中,如果一个方法的执行会导致缓存数据的更新或添加,我们可以使用@CachePut注解将这个方法的返回结果更新或添加到缓存中。

19、@EnableTransactionManagement

作用:用于启用事务管理功能。

@Transactional是Spring框架中的一个注解,用于标识一个方法或类需要使用事务进行操作。

在Spring框架中,如果一个方法需要对数据库进行操作,我们可以使用@Transactional注解来确保这个操作在一个事务中进行,从而保证操作的原子性、一致性、隔离性和持久性。

20、@EnableAspectJAutoProxy

作用:用于启用AOP功能。

@EnableAspectJAutoProxy是Spring框架中的一个注解,用于启用自动代理功能,以便使用AOP(面向切面编程)进行编程。

在Spring框架中,如果需要使用AOP来实现某些功能,我们可以使用@EnableAspectJAutoProxy注解来启用自动代理功能,从而在运行时自动为我们生成代理对象,以便进行切面编程。

21、@Aspect

作用:用于定义切面。

@Aspect是Spring框架中的一个注解,用于标识一个类为切面类,从而可以在该类中定义切面逻辑以实现AOP(面向切面编程)。

在Spring框架中,如果需要使用AOP来实现某些功能,我们可以使用@Aspect注解来标识一个类为切面类。在切面类中,我们可以定义切面逻辑,包括切入点、通知类型和切面顺序等,从而实现AOP编程的功能。

22、@Around

作用:用于在方法执行前后执行通知。

@Around是Spring框架中的一个注解,用于定义在目标方法执行前后执行的通知类型,以实现AOP(面向切面编程)。

在Spring框架中,如果需要在目标方法执行前后执行某些操作,我们可以使用@Around注解来定义一个通知类型。在这个通知类型中,我们可以编写自己的逻辑代码,从而实现AOP编程的功能。

23、@AfterThrowing

作用:用于在方法抛出异常后执行通知。

@AfterThrowing是Spring框架中的一个注解,用于定义在目标方法抛出异常后执行的通知类型,以实现AOP(面向切面编程)。

在Spring框架中,如果需要在目标方法抛出异常后执行某些操作,我们可以使用@AfterThrowing注解来定义一个通知类型。在这个通知类型中,我们可以编写自己的逻辑代码,从而实现AOP编程的功能。

24、@Data

作用:用于自动生成JavaBean的getters、setters、toString、hashCode和equals方法。

@Data是Lombok框架中的一个注解,可以自动生成Java类的getter、setter、equals、hashCode和toString等方法。

在Java开发中,我们经常需要编写一些POJO类来表示数据结构。这些类通常包含一些成员变量,并且需要编写相应的getter、setter、equals、hashCode和toString等方法。这些方法通常是相似的,而且比较繁琐。为了简化这个过程,Lombok框架提供了一个@Data注解,可以自动生成这些方法。

使用@Data注解非常简单,只需要在Java类上添加这个注解即可。在使用时,我们可以直接访问类的成员变量,并且可以自动生成相应的getter、setter、equals、hashCode和toString等方法。

25、@EqualsAndHashCode

作用:用于生成hashCode和equals方法。

@EqualsAndHashCode是Lombok框架中的一个注解,用于自动生成equals()和hashCode()方法。

在Java开发中,我们经常需要比较两个对象是否相等,并且需要根据对象的属性生成一个hashCode值。为了简化这个过程,Lombok框架提供了一个@EqualsAndHashCode注解,可以自动生成equals()和hashCode()方法。

使用@EqualsAndHashCode注解非常简单,只需要在Java类上添加这个注解即可。在使用时,Lombok会根据类的属性自动生成equals()和hashCode()方法。如果两个对象的所有属性都相等,那么它们的equals()方法返回true,并且它们的hashCode()方法返回相同的值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/58434.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文分享】通过太阳轨迹和街景图像测量不同街道网络方向的太阳辐射及其时空分布

本次我们给大家带来一篇SCI论文的全文翻译。该论文利用街景数据和太阳轨迹模拟技术,揭示了不同方向街道上的太阳辐射在时空上的差异,为城市的可持续发展提供了更有针对性的策略。 【论文题目】 Measuring solar radiation and spatio-temporal distrib…

彩色圆形检测函数不使用OpenCV——C语言代码

1. 基于RGB颜色空间检测BMP图像中的红色和绿色圆形 以检测红色和绿色为例,标准的红色满足R=255,G=0,B为0,标准的绿色满足R=0,G=255,B为0,但实际拍摄的图像会存在偏差,此外,不同的红色/绿色有不同的R G B值,为了检测出所有的彩色圆形,将所有红色/绿色合计,取极限值…

基于springboot+vue实现的公考知识学习平台 (源码+L文+ppt)4-103

4.1 系统功能结构设计 根据对公考知识学习平台的具体需求分析,把系统可以划分为几个不同的功能模块:管理员可以对系统首页、个人中心、用户管理、讲师管理、在线咨询管理、学习资料管理、讲座信息管理、讲座预约管理、学习论坛、练习自测管理、试题管理…

使用CMake实现构建OpenCL程序

最近在研究如何使用使用CMake实现构建OpenCL程序,还是以数组加法为例子。该应用程序的CMake构建脚本将其构建为ISO C11应用程序,并打开了最合理的编译器警告,其CMakeLists.txt下: cmake_minimum_required(VERSION 3.10) # 3.10 &…

LabVIEW程序员的真实工作状态是怎样的?

LabVIEW程序员的工作状态通常涉及以下几个方面: 1. 项目开发与设计 需求分析:与客户或团队成员沟通,明确项目需求,制定开发计划。 系统设计:根据需求进行系统架构设计,包括硬件选型和软件模块划分。 2.…

Ubuntu18升级cmake3.10到cmake3.18

1、下载cmake版本3.18 wget -O cmake-3.18.2.tar.gz https://github.com/Kitware/CMake/releases/download/v3.18.2/cmake-3.18.2.tar.gz 2、解压cmake tar zxvf cmake-3.18.2.tar.gz 3、进入cmake进行编译 cd cmake-3.18.2 4、配置cmake ./bootstrap 5、make make 6…

搜索引擎算法更新对网站优化的影响与应对策略

内容概要 随着互联网的不断发展,搜索引擎算法也在不断地进行更新和优化。了解这些算法更新的背景与意义,对于网站管理者和优化人员而言,具有重要的指导意义。不仅因为算法更新可能影响到网站的排名,还因为这些变化也可能为网站带…

安装中文版 Matlab R2022a

下载安装包 压缩包有点大,大概20G 百度网盘:下载链接 提取码:rmja 安装 解压后打开目录,右键以管理员身份运行 setup.exe 选择输入安装秘钥 输入秘钥: 50874-33247-14209-37962-45495-25133-28159-33348-18070-6088…

互联网大厂最全Java面试题及答案整理(2024最新版)

很多 Java 工程师的技术不错,但是一面试就头疼,10 次面试 9 次都是被刷,过的那次还是去了家不知名的小公司。 问题就在于:面试有技巧,而你不会把自己的能力表达给面试官。 应届生:你该如何准备简历&#…

[Nginx]快速入门

Nginx概述 介绍 Nginx是一款轻量级的web 服务器/ 反向代理服务器/ 电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好 中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、…

坚持使用kimi搭建小程序2小时(04天/05天)

运用好kimi智能助手里面的存储小程序,{缺乏一个相对稳定的反馈体系,自己所挑选的稳定反馈体系就是编程!} 开源竞争: 当你无法彻底掌握一门技术的时候,就开源这门技术,培养出更多的技术依赖,让更多人完善你…

免费流程图制作工具 draw.io v24.5.3 中文绿色版

draw.io是一款免费的在线图表绘制工具,它提供了强大的功能和易于使用的界面,适用于各种绘图需求。 详细功能 多种类型的图表:draw.io支持创建各种类型的图表,包括流程图、组织结构图、UML图、网络拓扑图、平面图等。自定义图表元…

《计算机网络》期末复习资料

《计算机网络》考前必看资料 各章节重点内容 1.网络体系结构:分层、协议、服务、OSI与TCP模型层次及特点对比。 2.物理层:通信基础知识,信道复用技术。 3.数据链路层:物理链路与数据链路的区…

NVR小程序接入平台/设备EasyNVR多个NVR同时管理多平台级联与上下级对接的高效应用

政务数据共享平台的建设正致力于消除“信息孤岛”现象,打破“数据烟囱”,实现国家、省、市及区县数据的全面对接与共享。省市平台的“级联对接”工作由多级平台共同构成,旨在满足跨部门、跨层级及跨省数据共享的需求,推动数据流通…

Axure PR 9 多级下拉清除选择器 设计交互

大家好,我是大明同学。 Axure选择器是一种在交互设计中常用的组件,这期内容,我们来探讨Axure中选择器设计与交互技巧。 OK,这期内容正式开始 下拉列表选择输入框元件 创建选择输入框所需的元件 1.在元件库中拖出一个矩形元件。…

2024年10月实测安装支持 winxp的最后一个python版本 2.7.18 和python 3.4.4版本,你觉得还能正常安装吗?

各位粉丝朋友们,大家好!在编程的世界里,有时候特定的业务需求会让我们不得不使用老版本的软件。Python 目前支持 Windows XP 的最后一个版本为 Python 2.7.18。由于官网下载可能会比较耗时,为了方便大家,我将这个版本上…

省级- 可持续性再生能源消纳量(2015-2022年)

非水电可再生能源电力消纳量,作为衡量一个地区可再生能源利用程度的关键指标,正受到越来越多的关注。 非水电可再生能源电力消纳量指的是在一定时间内,除了水力发电之外的其他可再生能源(如太阳能、风能、生物质能等)…

Oracle创建存储过程,创建定时任务

在Oracle数据库中,创建存储过程和定时任务(也称为调度任务)是常见的数据库管理任务。以下是创建存储过程和定时任务的步骤和说明。 创建存储过程 创建存储过程的sql脚本 create or replace procedure 存储过程名称... is begin脚本逻辑...…

基于uniapp微信小程序的旅游系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

【数据仓库】

数据仓库:概念、架构与应用 目录 什么是数据仓库数据仓库的特点数据仓库的架构 3.1 数据源层3.2 数据集成层(ETL)3.3 数据存储层3.4 数据展示与应用层 数据仓库的建模方法 4.1 星型模型4.2 雪花模型4.3 星座模型 数据仓库与数据库的区别数据…