首页/ 学科题库/ SpringMVC/ 常用注解基础使用专题
SpringMVC 专题精讲

常用注解基础使用专题

1 篇文章 22 道配套习题

常用注解基础使用专题

专题说明

本专题系统讲解SpringMVC常用注解的使用方法,包括控制器定义、请求映射、参数绑定、响应处理等核心注解。

学习目标

  1. 掌握@Controller和@RestController的区别与使用
  2. 熟练使用@RequestMapping及其衍生注解
  3. 理解@RequestParam、@PathVariable、@RequestBody参数绑定注解
  4. 掌握@ResponseBody和@ModelAttribute的使用场景

学习内容

  • @Controller与@RestController
  • @RequestMapping请求映射
  • @GetMapping/@PostMapping等衍生注解
  • 参数绑定注解系列
  • 响应处理注解

学习建议

通过实践代码理解各注解的作用,结合实际项目场景掌握注解选择策略。

配套习题(22 题)

参考答案在文末
判断题
1
判断题

@RequestParam注解的required属性默认值为true,表示该请求参数必须存在,否则会抛出异常。

A

对

B

错

2
判断题

@Controller注解本身就是@Component注解的派生注解,因此被@Controller标注的类会被Spring组件扫描自动注册为Bean。

A

对

B

错

3
判断题

@RestControllerAdvice注解相当于@ControllerAdvice和@ResponseBody的组合,用于定义全局异常处理并返回JSON数据。

A

对

B

错

4
判断题

在单个Controller中定义的@ExceptionHandler方法,会自动对所有Controller中的异常生效。

A

对

B

错

5
判断题

@PathVariable注解用于获取URL路径中的变量,而@RequestParam注解用于获取请求参数,两者的数据来源不同。

A

对

B

错

单选题
6
单选题

@ExceptionHandler注解的主要作用是什么?

A

定义全局异常处理器

B

处理控制器方法抛出的异常

C

处理404错误

D

定义请求映射

7
单选题

@ControllerAdvice注解的主要作用是什么?

A

标识一个类为普通控制器

B

标识一个类为全局控制器增强类

C

标识一个类为服务层组件

D

标识一个类为数据访问组件

8
单选题

@RequestParam注解的主要作用是什么?

A

绑定URL路径变量到方法参数

B

绑定请求参数到方法参数

C

绑定请求头到方法参数

D

绑定Cookie值到方法参数

9
单选题

@ResponseBody注解的主要作用是什么?

A

将方法返回值作为视图名称进行跳转

B

将方法返回值直接写入HTTP响应体

C

将方法返回值存入Model

D

将方法返回值存入Session

10
单选题

@RestController注解与@Controller注解的主要区别是什么?

A

@RestController只能用于配置类

B

@RestController相当于@Controller+@ResponseBody

C

@RestController只能返回视图

D

@RestController不支持自动扫描

11
单选题

在SpringMVC中,@Controller注解的作用是什么?

A

标识一个类为SpringMVC的控制器组件

B

标识一个类为服务层组件

C

标识一个类为数据访问层组件

D

标识一个类为配置类

12
单选题

当存在多个@ControllerAdvice类时,如何控制它们的执行顺序?

A

使用@Order注解或实现Ordered接口

B

使用@Priority注解

C

无法控制执行顺序

D

按类名字母顺序执行

13
单选题

关于@RequestMapping注解,以下说法正确的是?

A

只能标注在方法上

B

只能标注在类上

C

可以标注在类和方法上,类上的路径作为方法路径的前缀

D

只能标注在接口上

14
单选题

@ExceptionHandler标注的方法,以下哪种参数类型是不能直接获取的?

A

Exception及其子类

B

HttpServletRequest

C

HttpServletResponse

D

ModelAndView

15
单选题

@PathVariable注解的主要作用是什么?

A

获取请求参数

B

获取URL路径中的变量值

C

获取请求头信息

D

获取Cookie值

16
单选题

@RequestMapping注解的主要作用是什么?

A

自动注入依赖对象

B

建立请求URL与处理方法之间的映射关系

C

标识一个类为控制器

D

返回JSON数据

17
单选题

@ControllerAdvice注解的basePackages属性用于什么?

A

指定扫描的配置类

B

指定增强生效的Controller包路径

C

指定扫描的组件类

D

指定视图解析器路径

多选题
18
多选题

@ControllerAdvice注解可以配合以下哪些注解实现全局功能?

A

@ExceptionHandler

B

@InitBinder

C

@ModelAttribute

D

@RequestMapping

19
多选题

以下关于@ControllerAdvice注解的说法,正确的是?

A

@ControllerAdvice标注的类会被Spring自动扫描注册

B

@ControllerAdvice是@Component的派生注解

C

@ControllerAdvice默认对所有Controller生效

D

@ControllerAdvice只能用于异常处理

20
多选题

关于@ExceptionHandler注解,以下说法正确的是?

A

可以标注在Controller的方法上

B

可以指定处理的异常类型

C

处理方法的返回值可以是ModelAndView

D

默认对所有Controller生效

填空题
21
填空题

在SpringMVC中,注解用于定义全局控制器增强类,配合注解可以实现全局异常处理。如果不使用@ControllerAdvice,@ExceptionHandler只对当前内的异常有效。

22
填空题

@ControllerAdvice注解的三种典型应用场景:配合实现全局异常处理,配合实现全局数据绑定初始化,配合实现全局数据绑定。如果需要限制@ControllerAdvice的作用范围,可以使用basePackages属性指定生效的包路径。

参考答案
1.正确 2.正确 3.正确 4.错误 5.正确 6.B 7.B 8.B 9.B 10.B 11.A 12.A 13.C 14.D 15.B 16.B 17.B 18.A;B;C 19.A;B;C 20.A;B;C 21.@ControllerAdvice;@ExceptionHandler;Controller 22.@ExceptionHandler;@InitBinder;@ModelAttribute
想在手机上刷这套专题的真题?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可解锁本专题全部配套练习与错题本。
了解产品 App
← 上一个专题 容器级WEB组件扩展专题 下一个专题 → 拦截器原理与实战专题