常用注解
组件注册
@Configuration
- 用于定义配置类,通常包含多个
@Bean
方法来创建和管理应用中的bean
。这些配置类可以在运行时被 Spring 容器解析,并根据需要实例化bean
@SpringBootConfiguration
- 表示是一个 Spring Boot 配置类
@Bean
、 @Scope
- 用于定义
bean
,bean
的作用域, 默认是singleton
单例模式,也可设置为prototype
多例模式、request
请求模式、session
会话模式
@Controller
、@Service
、@Repository
、@Componement
- 用于定义
bean
的类型,@Controller
用于定义控制器,@Service
用于定义业务逻辑层,@Repository
用于定义数据访问层,@Componement
用于定义其他类型的bean
@Import
- 用于导入其他配置类,或者
bean
@ComponentScan
- 用于定义扫描包路径,默认为当前包路径,可指定包路径,也可指定包路径过滤规则
条件注解
@Conditional
- 根据某些条件来决定是否创建
bean
。 - 例如,@ConditionalOnProperty可以根据配置文件中的属性值决定是否创建bean;
- @ConditionalOnClass和@ConditionalOnMissingClass可以根据类路径中是否存在某个类来控制bean的创建。
属性绑定注解
@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