JAVA开发——常用的注解
目录
spring
spring MVC
Spring Boot
AOP
MyBatis
MyBatis-Plus
JavaWeb开发
spring
-
@Autowired
:自动安装,通过类匹配自动注册相应的Bean。 -
@Component
:将一个通用的 Java 类标记为 Bean,由 Spring 容器管理。 -
@Controller
:用于标记控制器类,处理用户请申请。 -
@Service
:用于标记服务层,处理业务总编辑。 -
@Repository
:用于标记数据访问层类,负责与数据库进行交互。 -
@RequestMapping
:用于投影请求 URL 和处理方法。 -
@PathVariable
:用于获取URL中的参数值。 -
@RequestParam
:用于获取请求参数的值。 -
@ResponseBody
:用于将处理方法的返回值直接写入HTTP响应体中返回给客户端。 -
@Transactional
:用于标注事务处理方法,保证方法在事务中操作。
spring MVC
-
@WebServlet:用于声明Servlet,指定它的URL地址和处理请求的方法。
-
@WebFilter:使用于声明过滤器,可以在请求被处理之前或之后请求进行过滤和处理。
-
@WebListener:用于声明监听器,可以监听Web应用程序中的事件,如ServletContext、HttpSession和ServletRequest等。
-
@RequestMapping:用于声明请求映射,将请求映射到对应的处理方法上。
-
@RequestParam:用于声明请求参数,将请求参数绑定到方法参数上。
-
@ResponseBody:用于声明响应体,将方法返回值直接作为响应体返回给客户端。
-
@PathVariable:用于声明路径变化量,从请求路径中提取变化量的值并绑定到方法参数上。
-
@ModelAttribute:用于声明模型属性,将请求参数绑定到模型属性上。
-
@SessionAttribute:用于声明会话属性,将模型属性存储到会话中,使其在多个请求之间共享。
-
@ExceptionHandler:用于声明异常处理方法,将指定类型的异常映射到对应的处理方法上。
Spring Boot
-
@SpringBootApplication:标记一个类,表示这是一个Spring Boot应用,当同时添加了@Configuration、@EnableAutoConfiguration和@ComponentScan这三个注解。
-
@RestController:标记一个类,表示这是一个控制器类,当同时添加了@Controller 和@ResponseBody 这两个注解。
-
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping:分别表示HTTP请求中的GET、POST、PUT、DELETE方法,用于处理请求。
-
@PathVariable:用于获取URL路径中占位符的值。
-
@RequestParam:用于获取请求参数的值。
-
@RequestBody:用于获取请求体中的内容。
-
@Validated:用于参与数据校试,通常与@RequestParam或@RequestBody一起使用。
-
@Autowired:自动注册依赖,可以注册Spring容器中的Bean。
-
@Service、@Repository、@Controller、@Component:用于标记服务类、持久层类、控制器类和通用组件类,让Spring Boot自动扫描并注册到Spring容器中。
-
@ConfigurationProperties:用于将配置文件中的属性值注册到类中。
-
@条件:根据条件决定是否注册Bean。
-
@Scheduled:用于指定时间任务,指定方法会指定时间执行。
-
@Async:用于异步方法调用,可以让方法在另一个线程中执行。
-
@EnableScheduling:开启定时任务。
-
@EnableAsync:开启异常方法调用。
AOP
-
@Aspect:标识一个类为切面类。
-
@Pointcut:定义一个切入点,用于匹配需要被拦截的方法。
-
@Before:在目标方法执行前执行。
-
@After:在目标方法执行后执行。
-
@AfterReturning:在目标方法返回结果后执行。
-
@AfterThrowing:在目标方法抛出异常后执行。
-
@Around:在目标方法执行前后都执行。
MyBatis
-
@Select:标识一个方法为查询方法,用于查询数据库中的数据。
-
@Insert:标识一个方法为插入方法,用于向数据库中插入数据。
-
@Update:标识一个方法为更新方法,用于更新数据库中的数据。
-
@Delete:标识一个方法为删除方法,用于从数据库中删除数据。
-
@Result:标识一个属性为查询结果的映射关系,用于将查询结果映射到Java对象中。
-
@Param:标识一个参数,用于在SQL语句中引用该参数。
MyBatis-Plus
- @TableName:实体类与表的映射关系。
- @TableField:实体类属性与表达式段的映射关系。
- @TableId:用于标准实体类中的主键属性。
- @EnumValue:用于标记枚举类中哪个属性作为数据库存储值。
- @版本:现实乐视锁的注解,用于标准版本号属性。
- @LogicDelete:用于删除删除的注释,用于标记删除删除字符串。
- @SqlParser:用于自定义SQL解析器。
- @SqlCondition:用于在SQL中添加判断条件。
- @InsertIgnore:当插入数据时,如果已经存在相同的记录,该注解可以忽略插入操作。
- @UpdateIgnore:当更新数据时,如果没有需要更新的字符串,该注解可以忽略更新操作。
JavaWeb开发
-
@WebServlet:用于定义servlet的URL映射和属性等信息。
-
@WebFilter:用于确定过滤器的URL映射和截屏顺序等信息。
-
@WebListener:用于定义监听器,如监听 ServletContext、HttpSession 和 ServletRequest 等对象的创建、销售和属性变化等。
-
@RequestParam:用于将HTTP请求参数映射到控制器方法的参数上。
-
@PathVariable:用于将URL路径变化映射到控制器方法的参数上。
-
@ResponseBody:使用将控制器方法的返回值转换为HTTP响应的消息体。
-
@RequestBody:用于将HTTP请求的消息体转换为控制器方法的参数。
-
@ModelAttribute:用于将HTTP请求的参数绑定到控制器方法的对象上。
-
@SessionAttribute:用于将控制器方法的返回值存储到HttpSession中。
-
@ModelAttribute:用于将控制器方法的返回值存储到模型中,以方便在视频中使用。
-
@Transactional:用于在Spring事务管理中标记需要进行事务处理的方法。
-
@Autowired:用于在Spring IoC 容器中自动安装需要的依赖对象。
-
@Component:用于将一个类定义为 Spring IoC 容器中的组件。
-
@Service:用于将一个定义为业务总图层的组件。
-
@Repository:用于将一个类定义为数据访问层的组件。
日出有盼,日落有念,心有所期,忙而不茫。
相关文章:
JAVA开发——常用的注解
目录 spring spring MVC Spring Boot AOP MyBatis MyBatis-Plus JavaWeb开发 spring Autowired:自动安装,通过类匹配自动注册相应的Bean。 Component:将一个通用的 Java 类标记为 Bean,由 Spring 容器管理。 Controller&…...

【Java笔试强训 24】
🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥年终奖 …...

SpringCloud详解
SpringCloud是一个基于SpringBoot的分布式系统开发框架,它能够帮助我们快速、稳定地构建分布式系统。本篇博客将对SpringCloud进行详细解析,介绍SpringCloud的主要组件和相关应用场景,同时提供代码示例以帮助读者更好地掌握SpringCloud的实际…...

如何保障网络安全
网络安全是一个涵盖范围广、深入浅出的话题。随着互联网在现代社会中扮演的重要角色日益突出,网络安全问题成为各个领域所关注的焦点。在此,我们将从以下几个方面来阐述网络安全的重要性,并讨论几种保障网络安全的方式。 一、网络安全的重要性…...

网络基础:socket套接字
文章目录 1. 前导知识1.1 源MAC地址和目的MAC地址1.2 源IP地址和目的IP地址1.3 MAC地址和IP地址的配合1.4 源端口号和目的端口号1.5 Socket1.6 UCP协议和TCP协议1.7 网络字节序高低位高低地址大端和小端网络字节序常用转换函数 2. socket 网络编程2.1 socket 常见接口创建套接字…...
程序员如何学好PHP?做好这五个方面就够了
今天我想和大家分享一下程序员的第一份工作对自己的意义以及影响。首先,我们都知道第一份工作很重要,因为它决定了你以后的职业生涯的方向。你的第一份工作做的什么方向,很可能就是你以后职业生涯中最主要的方向。对我个人而言,我…...

【开源项目】Build your own X 构建自己的项目
【开源项目】Build your own X 构建自己的项目 简介 Build your own X 是一个精心收集了大量资源的项目指南,可以通过从头开始重新创建我们最喜爱的技术来掌握编程。 项目地址: https://github.com/codecrafters-io/build-your-own-x这些项目里的资源…...

在.NET Core中正确使用HttpClient的方式
HttpClient 是 .NET Framework、.NET Core 或 .NET 5以上版本中的一个类,用于向 Web API 发送 HTTP 请求并接收响应。它提供了一些简单易用的方法,如 GET、POST、PUT 和 DELETE,可以很容易地构造和发送 HTTP 请求,并处理响应数据。…...

【C++】位运算类题目总结
文章目录 一. 位运算符脑图二. 相关题目1. 统计二进制数中0的个数2. 数组中只出现一次的数字3. 数组中只出现一次的数字 II4. 不用加减乘除做加法 一. 位运算符脑图 二. 相关题目 1. 统计二进制数中0的个数 解题思路:x & (x-1);它的作用是每次循环…...
Node服务端开发【NPM】
文章目录 前言NPM使用NPM使用场景NPM的常用命令NPM命令使用介绍使用NPM安装模块下载三方包全局安装VS本地安装本地安装全局安装全局模块路径查看与路径修改 卸载模块更新模块搜索模块NPM服务器发布包 NPM换源nrm全局安装 nrm:nrm ls 列出来现在已经配置好的所有的原地址nrm use…...

Doris(21):Doris的函数—日期函数
1 CONVERT_TZ(DATETIME dt, VARCHAR from_tz, VARCHAR to_tz) 转换datetime值dt,从 from_tz 由给定转到 to_tz 时区给出的时区,并返回的结果值。 如果参数无效该函数返回NULL。 select convert_tz(2019-08-01 13:21:03, Asia/Shanghai, America/Los_Angeles); select co…...

和月薪5W的阿里程序员聊过后,才知道自己一直在打杂...
前几天和一个朋友聊面试,他说上个月同时拿到了腾讯和阿里的offer,最后选择了阿里。 阿里内部将员工一共分为了14个等级,P6是资深工程师,P7是技术专家。 其中P6和P7就是一个分水岭了,P6是最接近P7的不持股员工&#x…...

西门子PLC沿脉冲类指令汇总
S7-1200CPU提供了四种沿脉冲指令供用户使用,分别为:扫描操作数信号边沿指令、在信号边沿置位操作数的指令、扫描RLO的信号边沿指令以及检测信号边沿指令。 信号从0--1的时刻称为上升沿,信号从1--0的时刻称为下降沿,不管是上升沿还…...

软件多语言文案脚本自动化方案
开发高效提速系列目录 软件多语言文案脚本自动化方案 软件多语言文案脚本自动化方案 背景目标整体方案1. 创建文案资源文件2. python脚本开发3. Python脚本执行与管理4. 人员职责分配 PyCharm使用说明1. PyCharm下载2. PyCharm安装配置3. 异常情况解决 总结 博客创建时间&…...

C++017-C++文件读写应用
文章目录 C017-C文件读写应用C文件读写应用CSP-J目标1. 文件的基本概念、文本文件的基本操作2.文本文件类型与二进制文件类型文本文件类型二进制文件类型二进制查看工具 3.文件重定向、文件读写等操作关闭文件文件操作-写入文本文件文件操作-读取文本文件文件操作-写入二进制文…...

计算机网络 实验二
⭐计网实验专栏,欢迎订阅与关注! ★观前提示:本篇内容为计算机网络实验。内容可能会不符合每个人实验的要求,因此以下内容建议仅做思路参考。 一、实验目的 (1)掌握IP地址的基本结构(网络部分与主机部分的…...

Unity 3D 学习笔记(1)
文章目录 1.Unity 3D 概述2.Unity的安装过程3.Unity 3D 的项目管理4.Unity 3D 中的场景5.Unity 3D 的界面组成 1.Unity 3D 概述 Unity 3D简介:Unity 3D是虚拟现实行业中使用率较高的一款开发引擎,由Unity Technology公司开发。通过Unity,开发…...
P1050 [NOIP2005 普及组] 循环
题目描述 乐乐是一个聪明而又勤奋好学的孩子。他总喜欢探求事物的规律。一天,他突然对数的正整数次幂产生了兴趣。 众所周知,22 的正整数次幂最后一位数总是不断的在重复 2,4,8,6,2,4,8,6…2,4,8,6,2,4,8,6… 我们说 22 的正整数次幂最后一位的循环长度…...

软考算法-排序篇-上
数据排序 一:故事背景二:直接插入排序2.1 概念2.2 画图表示2.3 代码实现2.4 总结提升 三:希尔排序3.1 概念3.2 画图表示3.3 代码实现3.4 总结提升 四:直接选择排序4.1 概念4.2 画图表示4.3 代码实现4.4 总结提升 五:堆…...

总结836
学习目标: 4月(复习完高数18讲内容,背诵21篇短文,熟词僻义300词基础词) 学习内容: 暴力英语:背诵《keep your direction》,默写,英语语法 高等数学:刷题&a…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...

让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...