1). @RequestParam、@RequestBody、@PathVariable 是 Spring MVC 中处理请求参数的三个注解。
- @RequestParam:用于处理 URL 中的请求参数,如 ?name=value。通过 @RequestParam 注解,可以指定参数的名称、required、defaultValue 等属性。
- @RequestBody:用于处理请求体中的数据,如 JSON、XML 等。通过 @RequestBody 注解,可以将请求体中的数据自动绑定到 Java 对象上。
- @PathVariable:用于处理 URL 中的路径变量,如 /users/{id}。通过 @PathVariable 注解,可以指定路径变量的名称、value 属性等。
2). 请详细描述一下 什么是DI ? 常用注解是什么 ? 如果依赖注入时,IOC容器中同一个类型的bean有多个,该如何实现依赖注入(提示:三种方案)?
依赖注入(Dependency Injection,DI)是一种设计模式,它将对象的依赖关系从对象本身转移到了外部。在 Spring 中,IOC(依赖注入容器)负责管理所有的Bean,并负责将对象之间的依赖关系注入到各个Bean中。常用的注解有 @Autowired、@Inject、@Component、@Service、@Repository、@Controller 等。
如果依赖注入时,IOC容器中同一个类型的bean有多个,可以采用以下三种方案实现依赖注入:
- 构造函数注入:通过在构造函数上使用 @Autowired 注解,Spring 会自动找到匹配的 Bean 并注入到构造函数中。
- setter 方法注入:通过在 setter 方法上使用 @Autowired 注解,Spring 会自动找到匹配的 Bean 并注入到 setter 方法中。
- field 注入:通过在字段上使用 @Autowired 注解,Spring 会自动找到匹配的 Bean 并注入到字段中。
3). 在项目开发中,处理异常通常有以下几种方式:
- 使用 try-catch 语句:在可能抛出异常的代码块中使用 try-catch 语句捕获异常,并进行异常处理。
- 使用 @ExceptionHandler 注解:使用 @ExceptionHandler 注解定义全局异常处理器,用于统一处理项目中所有的异常。
- 自定义异常:如果需要在项目中自定义异常,可以创建一个新的类,继承自 Exception 或 RuntimeException,并重写其构造函数和toString 方法。
定义全局异常处理器的方法如下:
- 创建一个全局异常处理类,继承自 ExceptionHandler 接口。
- 重写 handleException 方法,定义全局异常处理逻辑。
- 在配置类上使用 @EnableExceptionHandling 注解,开启全局异常处理功能。
如果项目中自定义异常,推荐继承自 Exception,而不是 RuntimeException,因为 Exception 可以传递给父类,而 RuntimeException 不可以。
标签:依赖,Java,Spring,小练,面试,Bean,注解,异常,注入 From: https://www.cnblogs.com/yifan0820/p/17925229.html