1. 基础 Spring 注解
- @Component
- 标记一个类作为 Spring IoC 容器的一个组件。
- @Repository
- 标记一个 DAO 类,同时提供了异常转换机制。
- @Service
- 标记业务逻辑层的服务类。
- @Controller
- 标记一个 Web 层的控制器类。
- @RestController
- 结合了
@Controller
和@ResponseBody
,用于直接返回 JSON/XML 数据的 RESTful 控制器。
- 结合了
- @Autowired
- 自动注入 Bean 的实例。
- @Qualifier
- 当存在多个相同类型的 Bean 时,用于指定注入哪个 Bean。
- @Configuration
- 标记类作为配置类,可以用来定义 Bean。
- @Bean
- 在配置类中定义 Bean。
- @Import
- 导入其他配置类。
- @PropertySource
- 指定额外的属性源文件。
- @Value
- 注入属性值。
2. Spring Boot 特性注解
- @SpringBootApplication
- 合并了
@Configuration
,@EnableAutoConfiguration
,@ComponentScan
。是 Spring Boot 应用的主要入口点。
- 合并了
- @EnableAutoConfiguration
- 启用 Spring Boot 的自动配置功能。
- @Conditional
- 控制 Bean 的创建条件。
- @Profile
- 标记特定环境下的配置。
- @ConditionalOnClass
- 如果给定的类存在于类路径中,则创建 Bean。
- @ConditionalOnMissingClass
- 如果给定的类不存在于类路径中,则创建 Bean。
- @ConditionalOnProperty
- 根据配置属性的存在与否来决定是否创建 Bean。
- @ConditionalOnExpression
- 根据 SpEL 表达式的计算结果来决定是否创建 Bean。
- @ConditionalOnWebApplication
- 如果应用是 Web 应用,则创建 Bean。
- @ConditionalOnNotWebApplication
- 如果应用不是 Web 应用,则创建 Bean。
- @EnableConfigurationProperties
- 用于注册配置属性类的 Bean。
- @ConfigurationProperties
- 将 Java 对象与配置属性绑定在一起。
3. 测试相关的注解
- @RunWith(SpringRunner.class)
- 使用 Spring 测试框架。
- @SpringBootTest
- 对整个 Spring Boot 应用进行集成测试。
- @WebMvcTest
- 只加载 Spring MVC 组件进行测试。
- @DataJpaTest
- 只加载 JPA 相关的组件进行测试。
- @Transactional
- 标记测试方法为事务性的。
4. 安全相关的注解
- @EnableWebSecurity
- 启用 Web 安全配置。
- @EnableGlobalMethodSecurity
- 启用全局方法级别的安全控制。
5. RESTful 相关的注解
- @GetMapping
- 处理 HTTP GET 请求。
- @PostMapping
- 处理 HTTP POST 请求。
- @PutMapping
- 处理 HTTP PUT 请求。
- @DeleteMapping
- 处理 HTTP DELETE 请求。
- @PatchMapping
- 处理 HTTP PATCH 请求。
- @RequestMapping
- 用于映射请求路径,可以替代以上特定请求类型的注解。
- @PathVariable
- 从 URL 中获取参数。
- @RequestParam
- 从请求的查询字符串中获取参数。
- @RequestBody
- 获取请求体中的数据。
- @ResponseBody
- 将方法的返回值直接写入响应体中。
6. 异步相关的注解
- @Async
- 标记方法为异步执行。
- @EnableAsync
- 启用异步支持。
7. 国际化相关的注解
- @MessageSource
- 注入消息资源。
- @EnableMessageSource
- 启用消息源。
8. 日志相关的注解
- @Slf4j
- 自动生成
Logger
。
- 自动生成
- @Log4j2
- 生成 Log4j2 的
Logger
。
- 生成 Log4j2 的