Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >spring常用注解

spring常用注解

作者头像
用户10325771
发布于 2023-03-14 07:46:53
发布于 2023-03-14 07:46:53
79900
代码可运行
举报
运行总次数:0
代码可运行
1 @Controller

处理器(后端控制器)Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示,在SpringMVC 中提供了一个非常简便的定义Controller 的方法:@Controller,用于标记在一个类上

在配置文件中配置:

2 @RequestMapping

@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径

url路径映射: @RequestMapping(value=”/item”)或@RequestMapping(“/item) value的值是数组,可以将多个url映射到同一个方法

窄化请求映射 : 在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头,通过此方法对url进行分类管理。 如下:@RequestMapping放在类名上边,设置请求前缀 @Controller @RequestMapping(“/item”) 方法名上边设置请求映射url:@RequestMapping放在方法名上边 @RequestMapping(“/queryItem “) 访问地址为:/item/queryItem

请求方法限定 : GET:@RequestMapping(value=”/editItem”,method=RequestMethod.GET) POST:@RequestMapping(value=”/editItem”,method=RequestMethod.POST)

3 @PathVariable

url模板模式映射 :@RequestMapping(value=”/ viewItems/{id}”):{×××}占位符,请求的URL可以是“/viewItems/1”或“/viewItems/2”,通过在方法中使用@PathVariable获取{×××}中的×××变量。

@PathVariable用于将请求URL中的模板变量映射到功能处理方法的参数上。

4 @RequestBody

作用:@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json、xml等格式的数据并绑定到controller方法的参数上。

应用: @RequestBody注解实现接收http请求的json数据,将json数据转换为java对象

5 @ResponseBody

作用:该注解用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端

应用:@ResponseBody注解实现将controller方法返回对象转换为json响应给客户端

6 @RequestParam

使用@RequestParam常用于处理简单类型的绑定。

value:参数名字,即入参的请求参数名字,如value=“item_id”表示请求的参数区中的名字为item_id的参数的值将传入; required:是否必须,默认是true,表示请求中一定要有相应的参数 ;defaultValue:默认值,表示如果请求中没有同名参数时的默认值

形参名称时items_id,但是这里使用的是value=”id”,限定请求的参数名是id

7 @Validated和BindingResult

注意:添加@Validated表示在对items参数绑定时进行校验,校验信息写入BindingResult中,在要校验的pojo后边添加BingdingResult, 一个BindingResult对应一个pojo,且BingdingResult放在pojo的后边

value= {ValidGroup1.class}:表示使用的是分组校验

8 @ModelAttribute

springmvc默认对pojo数据进行回显,pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写) 使用@ModelAttribute指定pojo回显到页面在request中的key

@ModelAttribute还可以将方法的返回值传到页面 在商品查询列表页面,通过商品类型查询商品信息。在controller中定义商品类型查询方法,最终将商品类型传到页面。

9 @Autowired

@Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作

10 @component

把普通pojo实例化到spring容器中,相当于配置文件中的<bean id=”” class=””/> ,@component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注

11 @Scope

spring中bean的scope属性,有如下5种类型:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
singleton 表示在spring容器中的单例,通过spring容器获得该bean时总是返回唯一的实例
prototype表示每次获得bean都会生成一个新的对象
request表示在一次http请求内有效(只适用于web应用)
session表示在一个用户会话内有效(只适用于web应用)  globalSession表示在全局会话内有效(只适用于web应用)
12 @RestController

@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

13 @Configuration

从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器

13 @JSONField(serialize = false)

@JSONField(serialize = false)时用来忽略不想序列化的字段的,但是如果加了final,这个字段就无法被过滤 @JSONField(serialize = false) private int SCENE; // 可被过滤 @JSONField(serialize = false) private final int SCENE; // 不能过滤

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
compile group: 'com.alibaba', name: 'fastjson', version: '1.2.54'
14 Qualifier

Qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的,添加@Qualifier注解,需要注意的是@Qualifier的参数名称为我们之前定义@Service注解的名称之一。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-03-07),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
精进Spring—Spring常用注解【经典总结】
Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式。
Java编程指南
2019/10/23
5270
精进Spring—Spring常用注解【经典总结】
40 个 SpringBoot 常用注解
@RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。Spring MVC和Spring WebFlux都通过RquestMappingHandlerMapping和RequestMappingHndlerAdapter两个类来提供对@RequestMapping注解的支持。
路人甲Java
2021/10/08
1.9K0
SpringMVC常用注解标签详解
在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。
Java团长
2018/08/03
1K0
springmvc常用注解总结(面试经常问)
在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。
xiaozhangStu
2023/05/04
2630
Spring中注解大全和应用
来源:juejin.im/post/5b8ac1c76fb9a019da27d910
Java团长
2018/12/21
3700
Spring中的18个注解,你会几个?
标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.
田维常
2019/07/16
4090
SpringMVC 的常用注解
value:指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明); method: 指定请求的method类型, GET、POST、PUT、DELETE等;
用户5927264
2019/07/31
8070
SpringBoot 常用注解
@RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。
六月的雨在Tencent
2024/03/28
1030
SpringBoot 常用注解
Spring中的18个注解,你会几个
标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.
java架构师
2019/05/24
3970
spring和springboot常用注解_Java常用注解
9、@JoinColumn、@OneToOne、@OneToMany、@ManyToOne
全栈程序员站长
2022/09/24
7880
SpringMVC学习笔记(五) --- 异常处理、图片上传、Json数据交互、RESTful支持、拦截器
springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。
挽风
2021/04/13
7470
SpringMVC学习笔记(五) --- 异常处理、图片上传、Json数据交互、RESTful支持、拦截器
SpringMVC 常用注解
1、@Controller      @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。      @Controller 标记在一个类上还不能真正意义上的说它就是SpringMVC 的一个控制器类,因为这个时候Spring
二十三年蝉
2018/02/28
4.5K0
Spring 中注解大全和应用
标识一个该类是Spring MVC controller处理器,用来创建处理http请求的对象.
芋道源码
2018/11/08
4790
SpringBoot的Controller层常用注解
@Controller : 加在类上面的注解,使得类里面的每个方法都返回一个视图页面。
Java学术趴
2022/06/29
3.3K0
SpringBoot的Controller层常用注解
Spring 注解概览
从Java5.0开始,Java开始支持注解。Spring做为Java生态中的领军框架,从2.5版本后也开始支持注解。相比起之前使用xml来配置Spring框架,使用注解提供了更多的控制Spring框架的方式。 现在,越来越多的项目都在使用注解做相关的配置,但Spring的注解非常多,相信很多人对这些注解并没有一个很全面的了解,很多都没有使用过。本文就尽量全面地介绍Spring中常用的注解,并做简单介绍。 一. 核心注解 @Required 此注解用于bean的setter方法上。表示此属性是必须的,必须在配
前端教程
2018/03/05
1.1K0
常见的 Spring 注解概览
从Java5.0开始,Java开始支持注解。Spring做为Java生态中的领军框架,从2.5版本后也开始支持注解。相比起之前使用xml来配置Spring框架,使用注解提供了更多的控制Spring框架的方式。
后端码匠
2020/09/27
2960
SpringMVC学习笔记之二(SpringMVC高级参数绑定)
一、高级参数绑定 1.1 绑定数组 需求:在商品列表页面选中多个商品,然后删除。 需求分析:功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按钮把商品id传递给Controller,根据商品id删除商品信息。我们演示可以获取id的数组即可。 【Jsp修改】 修改itemList.jsp页面,增加多选框,提交url是queryItem.action <form action="${pageContext.request.contextPath }/queryItem.actio
Kevin_Zhang
2018/07/05
2.1K0
理论:第五章:Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点
Spring注解: 声明bean的注解 @Component 组件,没有明确的角色 @Service 在业务逻辑层使用(service层) @Repository 在数据访问层使用(dao层) @Controller 在展现层使用,控制器的声明(C) 注入bean的注解 @Autowired 由Spring提供 @Resource 由JSR-250提供 java配置类相关注解 @Bean 注解在方法上,声明当前方法的返回值为一个bean,替代xml中的方式(方法上) @Configuration 声明
Java廖志伟
2022/09/28
4220
理论:第五章:Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点
Spring Boot 常用注解
注解 annotation 用来定义一个类、属性和一些方法,以便程序能够被编译处理。
Jimmy_is_jimmy
2023/07/31
2160
Spring Boot 常用注解
Spring5注解
前言 最近在看B站颜群老师的课程,Javaweb>spring>springMVC>mybatis>spring高级,一路走来,跌跌撞撞,发现spring也不过尔尔,说白了,spring就是想尽办法将new做的更简单,更完美,更可配置。 Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式。 Spring注解方式减少了配置文件内容,更加便于管理,并且使用注解可以大大提高了开发效率! 注解本身是没
SerMs
2022/03/30
3610
相关推荐
精进Spring—Spring常用注解【经典总结】
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验