• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
思想人生从关注生活开始
博客园    首页    新随笔    联系   管理    订阅  订阅

Spring Cloud 常用注解-Java快速入门系统

Spring Cloud框架提供了众多注解和组合注解,用于简化和加速开发过程。这些注解可以轻松使用各种分布式组件,并提高分布式应用程序的可靠性、可扩展性和容错性。开发者可以根据需要选择适当的注解和组合注解,以构建高效、稳定的分布式应用程序。本文大部分内容来源于对早期文章整理,新增Spring Cloud 近年来更新后注解及Spring Cloud Alibaba 部分注解。

扩展阅读参阅作者早期文章:Spring Cloud常用注解清单-Java快速入门教程

  1. 服务注册与发现注解:

  • @EnableDiscoveryClient:启用服务注册与发现
  • @EnableEurekaClient:启用Eureka客户端
  • @NacosDiscoveryClient:启用Nacos客户端
  • @LoadBalanced:启用负载均衡
  • @RibbonClient:配置Ribbon客户端
  • @LoadBalancerClient:开启Spring Cloud LoadBalancer功能
  1. 服务通信注解:

  • @EnableFeignClients:启用Feign客户端
  • @FeignClient:配置Feign客户端
  • @DubboService:声明Dubbo服务提供者
  • @DubboReference:声明Dubbo服务消费者
  • @RocketMQProducer:声明RocketMQ消息生产者
  • @RocketMQConsumer:声明RocketMQ消息消费者
  1. 断路器注解:

  • @EnableCircuitBreaker:启用断路器
  • @EnableHystrix:启用Hystrix断路器
  • @EnableHystrixDashboard:启用Hystrix Dashboard
  • @HystrixCommand:配置Fallback方法
  • @SentinelResource:熔断降级
  1. 配置管理注解:

  • @RefreshScope:配置刷新
  • @ConfigurationProperties:多数据源配置
  • @Primary:多数据源配置
  • @Qualifier:多数据源配置
  • @Value:获取配置文件内容
  • @EnableConfigServer:启用Config Server
  • @EnableConfigClient:启用Config Client
  • @ConditionalOnProperty:条件化配置
  • @NacosConfigurationProperties:配置Nacos Config
  1. 定时任务注解:

  • @Scheduled:注解方式
  • @EnableScheduling:启用调度支持
  1. 异步处理注解:

  • @Async:异步方法
  • @BeforeStep:Batch步骤前
  • @AfterStep:Batch步骤后
  1. 分布式跟踪注解:

  • @EnableSleuth:集成Zipkin分布式跟踪系统
  1. 批处理注解:

  • @EnableBatchProcessing:启动Batch批处理支持
  • @JobScope:Job范围内的Bean
  • @StepScope:Step范围内的Bean
  1. RESTful API注解:

  • @RepositoryRestResource:实体类RESTful API
  • @PathVariable:URL路径变量
  • @RequestBody:HTTP请求体映射
  • @RequestHeader:HTTP请求头映射
  • @ResponseStatus:HTTP响应状态码设置
  1. 安全认证与授权注解:

  • @EnableResourceServer:资源服务器支持
  • @EnableAuthorizationServer:授权服务器支持
  1. 消息队列注解:

  • @EnableBinding:声明消息代理绑定
  • @StreamListener:配置Stream消息监听器
  • @KafkaListener:配置Kafka消息监听器
  1. Swagger注解:

  • @EnableSwagger2:启用Swagger2
  1. 重试机制注解:

  • @Retryable:方法重试
  1. 事务管理注解:

  • @Transactional:声明式事务控制
  1. Kafka Streams注解:

  • @EnableKafkaStreams:启用Kafka Streams支持
  • @KafkaStreamsStateStore:声明状态存储器
  1. Spring Cloud Function注解:

  • @Bean:Function Bean
  • @FunctionScan:扫描函数定义
  1. Spring Cloud  Alibaba- Sentinel注解:

  • @EnableSentinel:启用Sentinel支持
  • @SentinelResource:定义Sentinel流控规则
  • @SentinelRestTemplate:定义Sentinel流控规则
  • @SentinelParam:配置参数限流规则
  1. Spring Cloud Alibaba- Nacos注解:

  • @EnableNacosConfig:启用Nacos Config支持
  • @EnableNacosDiscovery:启用Nacos Discovery支持
  • @NacosConfigurationProperties:配置Nacos Config
  • @NacosGroup:分组配置
  • @NacosInjected:设置服务相关的元数据
  • @NacosPropertySource:命名空间配置
  • @NacosValue:命名空间配置
  1. Spring Cloud - Feign注解:

  • @FeignClient:配置Feign客户端
  • @RequestLine:配置Feign客户端
  • @QueryMap:配置Feign客户端 -@FeignInterceptor:Feign拦截器
  • @RequestHeader:Feign拦截器
  • @RequestParam:Feign拦截器
  1. Spring Cloud Alibaba  - Dubbo注解:

  • @Service:声明Dubbo服务提供者
  • @Reference:声明Dubbo服务消费者
  • @DubboTransported:传递上下文信息
  1. Spring Cloud Alibaba  - RocketMQ注解:

  • @RocketMQProducer:声明RocketMQ消息生产者
  • @RocketMQListener:声明RocketMQ消息消费者
  • @RocketMQDelay:发送延迟消息
  • @RocketMQTransactionListener:事务消息监听器
  • @RocketMQOrderListener:消费顺序消息
  • @ConsumeOrderlyContext:消费顺序消息
  • @MessageOrderMode:消费顺序消息
  1. Spring Cloud - 数据访问注解:

  • @MapperScan:MyBatis扫描
  • @SelectKey:MyBatis自动生成主键
  • @UpdateProvider:MyBatis动态SQL语句
  • @Cacheable:Redis缓存
  • @CachePut:Redis缓存
  • @CacheEvict:Redis缓存

每个注解的设计原理、功能说明也有所不同,需要根据具体的使用场景和需求进行选择和调整。

 

posted @ 2023-04-18 13:33  JackYang  阅读(292)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3