Skip to content

常用注解

组件注册

@Configuration

  • 用于定义配置类,通常包含多个 @Bean 方法来创建和管理应用中的 bean。这些配置类可以在运行时被 Spring 容器解析,并根据需要实例化 bean

@SpringBootConfiguration

  • 表示是一个 Spring Boot 配置类

@Bean@Scope

  • 用于定义 beanbean 的作用域, 默认是 singleton 单例模式,也可设置为 prototype 多例模式、request 请求模式、session 会话模式

@Controller@Service@Repository@Componement

  • 用于定义 bean 的类型,@Controller 用于定义控制器,@Service 用于定义业务逻辑层,@Repository 用于定义数据访问层,@Componement 用于定义其他类型的 bean

@Import

  • 用于导入其他配置类,或者 bean

@ComponentScan

  • 用于定义扫描包路径,默认为当前包路径,可指定包路径,也可指定包路径过滤规则

条件注解

@Conditional

  • 根据某些条件来决定是否创建 bean
  • 例如,@ConditionalOnProperty可以根据配置文件中的属性值决定是否创建bean;
  • @ConditionalOnClass和@ConditionalOnMissingClass可以根据类路径中是否存在某个类来控制bean的创建。

条件注解.png

属性绑定注解

@ConfigurationProperties

  • 用于将配置文件中的属性绑定到某个类中,以实现属性的注入。

@EnableConfigurationProperties

  • 用于启用配置属性绑定功能,可以将配置文件中的属性绑定到指定的类中。一般用于导入第三方组件进行属性绑定

Web 开发类注解

@RestController@Controller

  • 用于定义控制器,@RestController 用于定义 RESTful 风格的控制器,返回 JSON 数据,而 @Controller 用于定义普通控制器,返回 HTML 页面。

@ReqeustMapping@GetMapping@PostMapping@PutMapping@DeleteMapping

  • 用于定义请求映射,可以指定请求路径、请求方法等。

@PathVariable@RequestParam@RequestHeader@MatrixVariable

  • 用于获取请求参数,例如路径参数、查询参数、请求头参数等。

@ResponseBody@RequestBody

  • 用于将返回值转换为 JSON 数据,或者将请求参数转换为对象。

@ExceptionHandler@ControllerAdvice / @RestControllerAdvice

  • 全局异常处理机制,增强控制器的功能,捕获所有可能抛出的异常,并返回友好的错误响应。
  • @ControllerAdvice 适用于所有 @Controller ; @RestControllerAdvice 适用于所有 RestController