当前位置: 首页 > news >正文

spring和springmvc常用注解

1.Spring常用注解:
1)@Repository将DAO类声明为Bean
2)@Service用于修饰service层的组件
3)@Controller通常作用在控制层,将在Spring MVC中使用
4)@Component是一个泛化的概念,仅仅表示spring中的一个组件(Bean),可以作用在任何层次
5)@Scope是springIoc容器中的一个作用域,在 Spring IoC 容器中具有以下几种作用域:singleton(单例)、prototype(多例)、Web 作用域(reqeust、session、globalsession)、自定义作用域。
6)@Autowired将自动在Spring上下文与其匹配(默认是类型匹配)的Bean,并自动注入到相应的地方
7)@Resource:
(1)@Resource后面没有任何内容,默认通过name属性去匹配bean,找不到再按type去匹配
(2)指定了name或者type则根据指定的类型去匹配bean
(3)指定了name和type则根据指定的name和type去匹配bean,任何一个不匹配都将报错@Transactional声明式事务管理编程中使用的注解

2.SpringMVC常用注解:
1)@RequestMapping:注解是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法上。
(1)用于方法上,表示在类的父路径下追加方法上注解中的地址将会访问到该方法
(2)用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

2)@RequestParam:主要用于将请求参数区域的数据映射到控制层方法的参数上

3)@ModelAttribute:
(1)绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用;
(2)暴露表单引用对象为模型数据:放在处理器的一般方法(非功能处理方法)上时,是为表单准备要展示的表单引用对象,如注册时需要选择的所在城市等,而且在执行功能处理方法(@RequestMapping注解的方法)之前,自动添加到模型对象中,用于视图页面展示时使用;
(3)暴露@RequestMapping方法返回值为模型数据:放在功能处理方法的返回值上时,是暴露功能处理方法的返回值为模型数据,用于视图页面展示时使用。

4)@SessionAttributes:在默认情况下,当ModelMap中的属性作用域是request级别时,也就是说,当本次请求结束后,ModelMap中的属性将销毁。如果希望在多个请求中共享ModelMap中的属性,必须将其属性转存到session中,这样ModelMap的属性才会被跨请求访问;
spring允许我们有选择地指定ModelMap中的哪些属性需要转存到session中,以便下一个请求属对应的ModelMap的属性列表中还能访问到这些属性。
SpringMVC为我们提供这样一个注解来实现上面的场景:`@SessionAttributes`:将ModelMap的属性值共享到session中。

5)@RequestBody:主要用来接收前端传递给后端的json字符串中的数据的(即请求体中的数据的);
GET方式无请求体,所以使用@RequestBody接收数据时,**前端不能使用GET方式提交数据,而是用POST方式进行提交**。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
简而言之:
(1) 一个请求:只有一个@RequestBody;
(2) 一个请求:可以有多个@RequestParam。

6)@RequestHeader:使用 @RequestHeader 注解可以获取指定的请求头信息。如果想要获取所有的请求头信息,可以使用 Map<String,String>、MultiValueMap<String,String>、HttpHeaders 这三个 Map 中的任何一个封装所有请求头的 name 和 value。

7)@PathVariable:该注解请求URI中的模板变量部分到处理器功能处理方法的方法参数上的绑定。
即当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。数上。

8)@CookieValue:注解主要是将请求的Cookie数据,映射到功能处理方法的参数上。

相关文章:

spring和springmvc常用注解

1.Spring常用注解&#xff1a; 1&#xff09;Repository将DAO类声明为Bean 2&#xff09;Service用于修饰service层的组件 3&#xff09;Controller通常作用在控制层&#xff0c;将在Spring MVC中使用 4&#xff09;Component是一个泛化的概念&#xff0c;仅仅表示spring中的一…...

【Java】Java生成PDF工具类

Java生成PDF工具类 一、介绍 Java生成PDF工具类是一个非常实用的工具类&#xff0c;可以帮助我们以程序化的方式生成PDF文件。通过该工具类&#xff0c;我们可以向PDF文件中添加文字、图片、表格等多种内容&#xff0c;并且可以进行格式化和样式设置。Java生成PDF工具类常用于…...

STL map,插入和查找的一些注意事项

01、前言&#xff08;废话&#xff09; C 的 std::map 容器中插入键值对主要有myMap(std::make_pair(key value)) &#xff0c;它们的区别你了解吗&#xff1f; auto it myMap,find(key) 和 auto value myMap[key] 都可以用于在 C 的 std::map 容器中查找键对应的值&#xff…...

基于springboot+vue的客户关系管理系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

【Java 基础篇】Java Stream 流详解

Java Stream&#xff08;流&#xff09;是Java 8引入的一个强大的新特性&#xff0c;用于处理集合数据。它提供了一种更简洁、更灵活的方式来操作数据&#xff0c;可以大大提高代码的可读性和可维护性。本文将详细介绍Java Stream流的概念、用法和一些常见操作。 什么是Stream…...

题解:ABC321A - 321-like Checker

题解&#xff1a;ABC321A - 321-like Checker 题目 链接&#xff1a;Atcoder。 链接&#xff1a;洛谷。 难度 算法难度&#xff1a;C。 思维难度&#xff1a;C。 调码难度&#xff1a;C。 综合评价&#xff1a;见洛谷链接。 算法 模拟。 思路 输入n后从后往前依次抽…...

Zig实现Hello World

1. 什么是zig 先列出一段官方的介绍: Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software. 大概意思就是说&#xff1a; Zig是一种通用编程语言和工具链&#xff0c;用于维护健壮、最佳和可重用的软件。 官…...

Vue3+element-plus切换标签页时数据保留问题

记录一次切换标签页缓存失效问题&#xff0c;注册路由时name不一致可能会导致缓存失效...

前端教程-TypeScript

官网 TypeScript官网 TypeScript中文官网 视频教程 尚硅谷TypeScript教程&#xff08;李立超老师TS新课&#xff09;...

代码随想录算法训练营 动态规划part06

一、完全背包 卡哥的总结&#xff0c;还挺全代码随想录 (programmercarl.com) 二、零钱兑换 II 518. 零钱兑换 II - 力扣&#xff08;LeetCode&#xff09; 被选物品之间不需要满足特定关系&#xff0c;只需要选择物品&#xff0c;以达到「全局最优」或者「特定状态」即可。 …...

能跑通的mmdet3d版本

能跑通的mmdet3d版本 1.0版本 2.0版本 注意&#xff1a;mmdet和mmdet3d简单地运行 pip install -v -e . 将会安装最低运行要求的版本。不要pip install -r requirements.txt安装依赖项&#xff0c;否则依赖库版本不对。 运行mmdet3d时&#xff0c;注释掉以上代码。...

SD-MTSP:萤火虫算法(FA)求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、萤火虫算法&#xff08;FA&#xff09;简介 萤火虫算法(Firefly Algorithm&#xff0c;FA)是Yang等人于2009年提出的一种仿生优化算法。 参考文献&#xff1a;田梦楚, 薄煜明, 陈志敏, et al. 萤火虫算法智能优化粒子滤波[J]. 自动化学报, 2016, 42(001):89-97. 二、单仓…...

bootstrapv4轮播图去除两侧阴影及线框的方法

文章目录 前言一、前提条件&#xff1a;二、bootstrap文档组件展示与实际应用1.官方文档展示如下&#xff1a;没有阴影2.实际应用情况如下&#xff1a; 三、解决方案 前言 这篇文章主要介绍了bootstrapv4轮播图去除两侧阴影及线框的方法,本文通过示例代码给大家介绍的非常详细…...

python 自建kafka消息生成和消费小工具

要将 Kafka 的消息生产和消费转换为 API 接口&#xff0c;我们可以使用 Python 的 Web 框架。其中 Flask 是一个轻量级且易于使用的选择。下面是一个简单的例子&#xff0c;使用 Flask 创建 API 来生成和消费 Kafka 消息。 1. 安装所需的库&#xff1a; pip install kafka-py…...

Prim算法:经过图中所有节点的最短路径

题目链接&#xff1a;53. 寻宝&#xff08;第七期模拟笔试&#xff09; #include<bits/stdc.h> using namespace std;// v为节点数量&#xff0c;e为边数量 int v, e;// 最小生成树 void prim(vector<vector<int>>& adj) {vector<int> dist(v1, I…...

Linux 信号捕捉函数 signal sigaction

signal函数 #include <signal.h> typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); 功能&#xff1a;设置某个信号的捕捉行为 参数&#xff1a; -signum&#xff1a;要捕捉的信号 handler&#xff1a;对捕捉到的信号怎么处理…...

StarRocks操作笔记

最近在使用starRocks&#xff0c;记录一些临时的操作技巧&#xff0c;防止遗忘。 1. 创建表 CREATE TABLE IF NOT EXISTS ODS.T_TEST( pk_day date, pool_address string, code string comment 唯一主键, test1 string, test2 string, test3 string, pk_year varchar(4), pk_m…...

Linux的ls -ld命令产生的信息怎么看

2023年9月24日&#xff0c;周日上午 目录 ls -ld列出的目录或文件的信息含义文件硬链接什么是文件硬链接为什么新建目录的文件硬链接为2举例说明例一例二例三 ls -ld列出的目录或文件的信息含义 第一个字符表示文件类型: d: 目录 -: 普通文件 l: 软链接 b: 块设备文件 c:…...

Linux- 内存映射文件(Memory-Mapped File)

内存映射文件&#xff08;Memory-Mapped File&#xff09;是⼀种将文件内容映射到内存中的机制&#xff0c;允许程序直接访问文件数据&#xff0c;就好像这些数据已经被加载到了内存⼀样。这个机制允许文件的内容被映射到⼀个进程的地址空间&#xff0c;从而允许程序以⼀种更高…...

李航老师《统计学习方法》第五章阅读笔记

决策树&#xff08;decision tree&#xff09;是一种基本的分类与回归方法。本章主要讨论用于分类的决策树。决策树模型呈树形结构&#xff0c;在分类问题中&#xff0c;表示基于特征对实例进行分类的过程。 以下是关于分类决策树的一些基本概念和特点&#xff1a; 树形结构&am…...

XUnity.AutoTranslator:为Unity游戏开启多语言世界的智能钥匙

XUnity.AutoTranslator&#xff1a;为Unity游戏开启多语言世界的智能钥匙 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 当游戏语言成为障碍&#xff1a;一个翻译插件的诞生背景 你是否曾经遇到过这样的…...

一维光子晶体Zak相位计算详解:包含COMSOL与MATLAB应用方法和步骤

一维光子晶体的zak相位计算 &#xff08;内含comsol文件和matlab程序&#xff09; 注意&#xff1a;这个是重复别人文章的结果&#xff0c;方法是论文中所提到的今天咱们来唠唠一维光子晶体Zak相位的计算实操。这玩意儿听起来挺玄乎&#xff0c;其实就是个描述拓扑特性的数学量…...

[具身智能-234]:OpenCV - 图像通常是三维的(高 H × 宽 W × 通道 C,例如 RGB 三通道),而 Mask 通常是二维的(高 H × 宽 W,单通道黑白),为什么?

图像通常是三维的&#xff08;高 H 宽 W 通道 C&#xff0c;例如 RGB 三通道&#xff09;&#xff0c;而 Mask 通常是二维的&#xff08;高 H 宽 W&#xff0c;单通道黑白&#xff09;。它们之间的“映射”并不是数学上的维度变换&#xff0c;而是一种基于广播机制的逻辑索引…...

C语言void关键字详解:无类型与void指针用法

于C语言里头&#xff0c;“void”属于一种特殊的数据类型&#xff0c;其表明“没有类型”&#xff0c;具体来讲&#xff0c;当我们声明一个函数的返回值类型为“void”之际&#xff0c;我们所指的是该函数不返回任何值&#xff0c;此外地&#xff0c;我们还能够运用“void”指针…...

算法与数据结构精讲:最大子段和(暴力 / 优化 / 分治)+ 线段树从入门到实战

前言最大子段和是最经典的入门题之一&#xff1b;而线段树则是处理区间查询、区间更新的高级数据结构&#xff0c;是进阶必备。本文将基于我提供的完整代码&#xff0c;分两大部分精讲&#xff1a;最大子段和问题&#xff1a;暴力 O (n) → 优化 O (n) → 分治 O (nlogn)线段树…...

金融级权限设计实战:用RBAC3模型搞定互斥角色、基数限制与操作审计

金融级权限架构设计&#xff1a;基于RBAC3模型的合规实战指南 在金融行业数字化转型浪潮中&#xff0c;权限管理系统不仅是技术组件&#xff0c;更是合规生命线。某跨国银行曾因角色权限漏洞导致数千万美元误操作&#xff0c;最终面临监管重罚——这个真实案例揭示了权限设计在…...

BG3ModManager Pak文件加载异常的深度修复指南

BG3ModManager Pak文件加载异常的深度修复指南 【免费下载链接】BG3ModManager A mod manager for Baldurs Gate 3. This is the only official source! 项目地址: https://gitcode.com/gh_mirrors/bg/BG3ModManager 三步定位异常表现 当用户点击"导入模组"按…...

STM32标准库开发入门与GPIO控制实战

1. 从点灯开始&#xff1a;STM32标准库开发入门指南 作为一名嵌入式开发者&#xff0c;我始终记得第一次点亮LED时的兴奋感。那闪烁的小灯不仅标志着程序的成功运行&#xff0c;更代表着嵌入式世界的入门仪式。本文将带你从最基础的STM32标准库开发入手&#xff0c;逐步深入理解…...

微信小程序解包神器:wxappUnpacker 完整使用指南与源码还原技巧

微信小程序解包神器&#xff1a;wxappUnpacker 完整使用指南与源码还原技巧 【免费下载链接】wxappUnpacker 项目地址: https://gitcode.com/gh_mirrors/wxappu/wxappUnpacker 你是否曾经好奇过微信小程序背后的实现原理&#xff1f;或者想要学习优秀小程序的开发技巧却…...

内页SEO优化与网站整体优化的关系是什么_网站内页的图片优化需要注意哪些

内页SEO优化与网站整体优化的关系是什么 在当前竞争激烈的互联网环境中&#xff0c;网站的整体优化和内页SEO优化密不可分。内页SEO优化是提升网站整体排名的关键环节&#xff0c;而网站整体优化则为内页SEO提供了坚实的基础。这两者之间的关系可以从多个方面进行探讨&#xf…...