Spring Boot 常用注解分类

目录

1.核心注解:

@SpringBootApplication:一个复合注解,用于标识Spring Boot应用程序的入口点。它组合了@Configuration、@EnableAutoConfiguration和@ComponentScan注解,提供了自动配置和组件扫描的功能。

@Configuration:将类标识为配置类,类似于传统的XML配置文件,用于定义Bean的创建和配置。

@EnableAutoConfiguration:启用Spring Boot的自动配置机制,根据类路径和其他条件自动配置Spring应用程序。

@ComponentScan:扫描指定包及其子包下的组件(包括@Service、@Repository、@Component和@Controller等)。

2.配置相关注解:

@Value:用于将外部属性值注入到Spring Bean中。

@ConfigurationProperties:绑定外部配置文件中的属性到Java Bean。

@PropertySource:指定外部属性文件的位置。

@Conditional:根据条件动态添加或排除Bean的装配。

3.控制器相关注解:

@RestController:组合注解,用于标识控制器类,并将其方法的返回值直接作为HTTP响应体返回。

@RequestMapping:将HTTP请求映射到处理方法上。

@GetMapping、@PostMapping等:用于简化常见的HTTP请求方法的映射。

@RequestParam:用于获取请求参数的值。

@PathVariable:用于获取URL路径变量的值。

@RequestBody:将请求体转换为Java对象。

@ResponseBody:将方法返回的对象转换为HTTP响应体。

4.数据访问相关注解:

@Entity:标识一个类作为实体类,在数据库中映射为表。

@Repository:标识一个类作为数据访问对象(DAO)。

@Autowired:自动装配依赖的Bean。

@Transactional:标识一个方法需要在事务中执行。

@Query:定义自定义的查询方法。

5.测试相关注解:

@RunWith:指定测试运行器。

@SpringBootTest:用于加载Spring应用程序的上下文,并提供测试支持。

@MockBean:模拟Bean,用于替代真实的Bean进行测试。

这些注解涵盖了Spring Boot应用程序开发的核心方面,通过合理使用这些注解,可以快速搭建和配置Spring Boot应用程序,并实现各种功能。

6.条件注解:

@ConditionalOnClass:当类路径中存在指定的类时才生效。

@ConditionalOnBean:当容器中存在指定的Bean时才生效。

@ConditionalOnProperty:当配置文件中指定的属性满足条件时才生效。

@ConditionalOnMissingBean:当容器中不存在指定的Bean时才生效。

7.AOP相关注解:

@Aspect:将一个类标识为切面。

@Pointcut:定义切点,即需要被拦截的方法。

@Before:在方法执行之前进行拦截。

@After:在方法执行之后进行拦截。

@Around:在方法执行前后进行拦截。

8.定时任务相关注解:

@Scheduled:定义定时任务的执行规则。

异步编程相关注解:

@Async:将方法标记为异步执行。

缓存相关注解:

@EnableCaching:启用缓存功能。

@Cacheable:标记方法的结果可被缓存。

这些注解可以根据具体的需求和场景选择使用,用于实现更多的功能和扩展。需要注意的是,在使用注解时要理解其作用和正确使用方式,以避免错误和不必要的麻烦。

9.消息队列相关注解:

@EnableJms:启用JMS消息队列功能。

@JmsListener:标识一个方法作为JMS消息监听器。

WebFlux相关注解(用于响应式编程):

@RestController:组合注解,用于标识控制器类,并将其方法的返回值直接作为HTTP响应体返回。

@RequestMapping:将HTTP请求映射到处理方法上。

@GetMapping、@PostMapping等:用于简化常见的HTTP请求方法的映射。

@PathVariable:用于获取URL路径变量的值。

@RequestBody:将请求体转换为Java对象。

@ResponseBody:将方法返回的对象转换为HTTP响应体。

10.Spring Security相关注解:

@EnableWebSecurity:启用Web安全性配置。

@Secured:限制方法的访问权限。

@PreAuthorize:在方法执行之前进行权限检查。

@PostAuthorize:在方法执行之后进行权限检查。

11.Swagger注解(用于API文档生成):

@Api:用于标识Controller类,生成对应API文档。

@ApiOperation:用于标识Controller类中的方法,生成对应API操作的文档。

@ApiParam:用于标识Controller方法中的参数,生成对应API参数的文档。

12.Spring缓存相关注解:

@EnableCaching:启用Spring缓存功能。

@Cacheable:标识方法的结果应该被缓存。

@CachePut:标识方法的结果应该被放入缓存。

@CacheEvict:标识方法执行后应该移除缓存中的数据。

13.Spring定时任务相关注解:

@EnableScheduling:启用Spring定时任务功能。

@Scheduled:标识方法为定时任务,并设置触发时间规则。

Spring国际化相关注解:

@EnableMessageSource:启用国际化消息资源配置。

@ConfigurationProperties:用于将属性绑定到配置类中。

Spring WebSocket相关注解:

@EnableWebSocket:启用Spring WebSocket功能。

@Controller:标识类为WebSocket控制器。

@MessageMapping:标记方法用于处理特定消息类型。

14.Spring Cloud相关注解(用于微服务开发):

@EnableDiscoveryClient:启用服务注册和发现功能。

@EnableFeignClients:启用Feign客户端功能。

@EnableCircuitBreaker:启用熔断器功能。

@EnableConfigServer:启用配置中心功能。

这些注解涵盖了不同领域的功能和特性,可以根据具体的需求选择和使用。

Spring框架提供了丰富的注解,可以更高效地进行开发、配置和集成各种功能

相关推荐
AI你一生一世1 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
云-缩影1 小时前
拆解 AI 图像生成应用的后端架构:ECS、OSS 和大模型 API 怎么配合
java·spring boot·后端
瑞克-桑切斯1 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
考虑考虑2 小时前
Posrgresql恢复.backup文件
数据库·后端·postgresql
无奈何杨3 小时前
风控决策系统决策流,策略模式,权重、顺序、投票、最坏
后端
AI开源软件3 小时前
SpringBoot3+Vue3 财务管理系统如何设计:从业务单据到总账的模块划分
spring boot·vue3·领域建模·会计凭证·ruoyi office·业财协同·财务系统设计
Patrick_Wilson4 小时前
Go 为什么需要 defer?从函数怎么收尾说起
后端·go·编程语言
苏三说技术4 小时前
DeepSeek Harness入驻B站,评论区被干成了大型插件集市!
后端
橙序员小站4 小时前
我一句话让 AI 把公众号工作台搭完了:部署实测记录
后端
Patrick_Wilson5 小时前
从文本输出理解 Go 方法与接口
后端·go·编程语言