Spring Cloud 常用注解说明

Spring Cloud框架提供了众多注解和组合注解,用于简化和加速开发过程。这些注解可以轻松使用各种分布式组件,并提高分布式应用程序的可靠性、可扩展性和容错性。开发者可以根据需要选择适当的注解和组合注解,以构建高效、稳定的分布式应用程序。

  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缓存

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值