全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📝 1 篇文章 22 道配套习题

常用注解基础使用专题

专题说明

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

学习目标

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

学习内容

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

学习建议

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

📝 发现内容有误?点击此处直接编辑

📝 配套习题(22 题)

1
单选题

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

A

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

B

标识一个类为服务层组件

C

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

D

标识一个类为配置类

2
判断题

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

A

B

3
单选题

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

A

自动注入依赖对象

B

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

C

标识一个类为控制器

D

返回JSON数据

4
单选题

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

A

只能标注在方法上

B

只能标注在类上

C

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

D

只能标注在接口上

5
单选题

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

A

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

B

绑定请求参数到方法参数

C

绑定请求头到方法参数

D

绑定Cookie值到方法参数

6
判断题

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

A

B

7
单选题

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

A

获取请求参数

B

获取URL路径中的变量值

C

获取请求头信息

D

获取Cookie值

8
判断题

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

A

B

9
单选题

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

A

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

B

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

C

将方法返回值存入Model

D

将方法返回值存入Session

10
单选题

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

A

@RestController只能用于配置类

B

@RestController相当于@Controller+@ResponseBody

C

@RestController只能返回视图

D

@RestController不支持自动扫描

11
单选题

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

A

定义全局异常处理器

B

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

C

处理404错误

D

定义请求映射

12
多选题

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

A

可以标注在Controller的方法上

B

可以指定处理的异常类型

C

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

D

默认对所有Controller生效

13
判断题

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

A

B

14
单选题

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

A

Exception及其子类

B

HttpServletRequest

C

HttpServletResponse

D

ModelAndView

15
单选题

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

A

标识一个类为普通控制器

B

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

C

标识一个类为服务层组件

D

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

16
多选题

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

A

@ExceptionHandler

B

@InitBinder

C

@ModelAttribute

D

@RequestMapping

17
单选题

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

A

指定扫描的配置类

B

指定增强生效的Controller包路径

C

指定扫描的组件类

D

指定视图解析器路径

18
判断题

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

A

B

19
填空题

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

20
多选题

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

A

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

B

@ControllerAdvice是@Component的派生注解

C

@ControllerAdvice默认对所有Controller生效

D

@ControllerAdvice只能用于异常处理

21
单选题

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

A

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

B

使用@Priority注解

C

无法控制执行顺序

D

按类名字母顺序执行

22
填空题

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

← 上一个专题 容器级WEB组件扩展专题
下一个专题 → 拦截器原理与实战专题

📝 发现内容有误?点击此处直接编辑

想查看更多习题和详细解析?
小程序提供完整的题库和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库