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…...
Groundhog:基于Git仓库的开发者时间自动追踪工具
1. 项目概述:一个面向开发者的时间管理利器如果你是一名开发者,或者你的工作与代码、项目、任务紧密相关,那么你一定对“时间都去哪儿了”这个问题深有感触。我们每天在各种编辑器、终端、浏览器标签页之间切换,处理着功能开发、B…...
从零构建AI编程助手:Groundhog项目解析与Rust实现
1. 项目概述:一个从零开始理解AI编程助手的教学项目如果你和我一样,对Cursor、GitHub Copilot这类AI编程助手背后的工作原理感到好奇,甚至有点“黑盒”恐惧,那么这个叫Groundhog的项目,可能就是为你量身打造的。它不是…...
TrollInstallerX终极指南:深度解析iOS 14-16.6.1越狱级安装技术
TrollInstallerX终极指南:深度解析iOS 14-16.6.1越狱级安装技术 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 在iOS生态系统中,系统限制与应用…...
[hadoop] 初识Spark
初识Spark采用的方法是:由新手不断地追问老手问题,老手给出一定的回答。 在这个过程中,新手会慢慢理解Spark 参考资料: 《Hadoop 3.x大数据开发实战》 文章目录参考资料:11.11.2233.14555.166.16.21 Spark集群的启动…...
Diablo Edit2完全手册:开源角色编辑器的深度解析
Diablo Edit2完全手册:开源角色编辑器的深度解析 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 你是否曾在暗黑破坏神2中花费数小时刷装备,只为获得一件特定属性的装备&am…...
教育科技项目如何利用Taotoken平衡AI功能效果与研发成本
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 教育科技项目如何利用Taotoken平衡AI功能效果与研发成本 在在线教育平台的发展过程中,引入AI驱动的功能,如…...
macOS终极指南:3分钟快速解密QQ音乐QMC格式文件
macOS终极指南:3分钟快速解密QQ音乐QMC格式文件 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结果…...
从LeNet到ResNet:用PyTorch官方Demo理解卷积神经网络(CNN)的演进与核心模块
从LeNet到ResNet:PyTorch实战中的CNN架构演进与模块化设计 卷积神经网络(CNN)的发展史就是一部深度学习技术的进化简史。1998年诞生的LeNet-5在MNIST手写数字识别任务上一战成名,却因算力限制沉寂多年;2012年AlexNet凭…...
高速接口EMI抑制:共模扼流圈选型与设计实战
1. 高速数据接口中的EMI挑战与共模扼流圈原理在USB3.1 Gen2、HDMI2.1等高速数据接口设计中,信号完整性工程师最头疼的问题莫过于电磁干扰(EMI)。当数据传输速率突破10Gbps时,电缆会变成高效的天线,将共模噪声辐射到周围…...
从安装到实战:用Python+Neo4j Driver构建你的第一个社交网络图谱(含完整代码)
从零构建社交网络图谱:Python与Neo4j全流程实战指南 社交网络分析正在重塑我们对复杂关系的理解。想象一下,当我们需要分析Twitter上的信息传播路径、LinkedIn的职业关系网或是电商平台的用户推荐系统时,传统的关系型数据库往往显得力不从心。…...
