一、Spring Cloud 注解分类汇总:

 

服务发现与注册类注解

 

  • 服务发现:@EnableDiscoveryClient
  • Eureka客户端:@EnableEurekaClient

服务通信类注解

  • Feign客户端:@EnableFeignClients
  • 负载均衡:@LoadBalanced、@RibbonClient
  • API网关:@EnableZuulProxy、@EnableZuulServer
  • 消息代理:@EnableBinding
  • Stream消息监听器:@StreamListener
  • Kafka消息监听器:@KafkaListener

断路器类注解

  • Hystrix断路器:@EnableCircuitBreaker、@HystrixCommand
  • Hystrix Dashboard:@EnableHystrixDashboard

配置管理类注解

  • 配置刷新:@RefreshScope
  • Config Server:@EnableConfigServer
  • Config Client:@EnableConfigClient
  • 条件化配置:@ConditionalOnProperty
  • 配置属性注入:@Value

定时任务类注解

  • 注解方式:@Scheduled
  • 启用调度支持:@EnableScheduling

异步处理类注解

  • 异步方法:@Async
  • Batch步骤前后:@BeforeStep、@AfterStep

分布式跟踪类注解

  • Spring Cloud Sleuth:@EnableSleuth

批处理类注解

  • 启用Batch批处理支持:@EnableBatchProcessing
  • Job范围内的Bean:@JobScope
  • Step范围内的Bean:@StepScope

RESTful API类注解

  • 实体类RESTful API:@RepositoryRestResource
  • URL路径变量:@PathVariable
  • HTTP请求体映射:@RequestBody
  • HTTP请求头映射:@RequestHeader
  • HTTP响应状态码设置:@ResponseStatus

安全认证与授权类注解

  • 资源服务器支持:@EnableResourceServer
  • 授权服务器支持:@EnableAuthorizationServer

消息队列类注解

  • 消息代理绑定:@EnableBinding
  • Stream消息监听器:@StreamListener
  • Kafka消息监听器:@KafkaListener

Swagger类注解

  • 启用Swagger2:@EnableSwagger2

重试机制类注解

  • 方法重试:@Retryable

事务管理类注解

  • 声明式事务:@Transactional

Kafka Streams类注解

  • 启用Kafka Streams支持:@EnableKafkaStreams
  • 声明状态存储器:@KafkaStreamsStateStore

Spring Cloud Function类注解

  • Supplier Bean: @Supplier
  • 扫描函数定义: @FunctionScan

其他类注解

  • JSON序列化格式:@JsonFormat
  • 指定Bean名称:@Qualifierz

 

二、常用注解说明

 

 

@EnableDiscoveryClient:使用该注解使得应用程序能够作为服务注册到Eureka、Consul等服务注册中心。

@EnableFeignClients:使用该注解启用Feign客户端进行服务间通信。

@EnableCircuitBreaker:使用该注解将Hystrix断路器集成到应用程序中,以实现故障转移和系统保护。

@SpringCloudApplication:组合注解,包含@SpringBootApplication、@EnableDiscoveryClient和@EnableCircuitBreaker三个注解。

@RefreshScope:使用该注解允许Spring Boot应用程序在运行时重新加载配置信息。

@LoadBalanced:使用该注解启用负载均衡机制,将请求分摊到不同的后端服务器进行处理。

@EnableZuulProxy:使用该注解启动Zuul API网关,处理服务间通信和API路由。

@EnableConfigServer:使用该注解启动Config Server,为微服务提供集中式配置管理功能。

@EnableAsync:使用该注解将方法标记为异步执行,并在后台线程池中运行。

@EnableRetry:使用该注解将方法标记为可重试操作,如果失败则自动重新尝试。

@HystrixCommand:使用该注解为特定方法添加Hystrix断路器,以实现故障转移和系统保护。

@FeignClient:使用该注解创建一个新的Feign客户端,以便向远程服务发起请求。

@RibbonClient:使用该注解为特定服务启动Ribbon负载均衡器,将请求分配到不同的实例中。

@EnableZuulServer:使用该注解启动一个Zuul服务器,该服务器可用于路由、过滤和转发客户端请求。

@EnableSwagger2:使用该注解启用Swagger UI,以便生成并展示API文档和测试工具。

@ConditionalOnProperty:使用该注解根据配置文件上下文启用或禁用特定的Bean。

@Retryable:使用该注解将特定方法标记为重试操作,以处理因网络异常等原因而导致的失败。

@Scheduled:使用该注解在预定的时间间隔内运行指定方法。

@Transactional:使用该注解将方法标记为声明式事务方法,以确保事务的正确执行。

@EnableZipkinServer:使用该注解启动一个Zipkin服务器,该服务器负责存储和展示分布式跟踪数据。

@RabbitListener:使用该注解创建一个新的RabbitMQ消息监听器,以便消费指定队列中的消息。

@EnableBinding:使用该注解将消息通道绑定到特定的消息代理,以实现异步通信或事件驱动应用程序。

@StreamListener:使用该注解创建一个新的Spring Cloud Stream消息监听器,以便消费指定主题中的消息。

@EnableKafka:使用该注解启用Kafka消息代理支持,并创建必要的生产者和消费者Bean。

@KafkaListener:使用该注解创建一个新的Kafka消息监听器,以便消费指定主题中的消息。

@EnableHystrixDashboard:使用该注解启用Hystrix Dashboard,以便监视服务的流量和熔断情况。

@EnableResourceServer:使用该注解启用OAuth2资源服务器支持,并为应用程序配置安全性。

@EnableAuthorizationServer:使用该注解启用OAuth2授权服务器支持,并为应用程序管理用户身份验证和授权。

@EnableEurekaClient:使用该注解启用Eureka客户端支持,并将应用程序注册到Eureka服务注册中心。

@EnableConfigClient:使用该注解启用Config Client支持,并从Config Server获取配置信息。

@FeignClientProperties:使用该注解声明Feign客户端属性,以便自定义和覆盖默认行为。

@Value:使用该注解注入配置文件中的属性值。

@Qualifier:使用该注解指定要注入的Bean的名称,以便在存在多个同类型Bean时进行区分。

@EnableBatchProcessing:使用该注解启用Spring Batch批处理支持。

@JobScope:使用该注解将Bean声明为Spring Batch作业范围内的Bean。

@StepScope:使用该注解将Bean声明为Spring Batch步骤范围内的Bean。

@BeforeStep:使用该注解标识被注释方法将在Spring Batch步骤执行之前执行。

@AfterStep:使用该注解标识被注释方法将在Spring Batch步骤执行之后执行。

@EnableScheduling:使用该注解启用Spring定时任务调度支持。

@Async:使用该注解将方法标记为异步执行,并在后台线程池中运行。

@EnableSleuth:使用该注解启动Spring Cloud Sleuth分布式跟踪,以实现在微服务架构中进行请求追踪和日志记录。

@EnableBinding:使用该注解将消息通道绑定到特定的消息代理,以实现异步通信或事件驱动应用程序。

@StreamListener:使用该注解创建一个新的Spring Cloud Stream消息监听器,以便消费指定主题中的消息。

@EnableKafkaStreams:使用该注解启用Kafka Streams支持,并配置Kafka Streams Binder。

@KafkaStreamsStateStore:使用该注解声明状态存储器,以便存储基于Kafka Streams的应用程序状态。

@Supplier:使用该注解创建一个新的Spring Cloud Function Supplier Bean,以供应用程序处理输入参数并生成结果。

@FunctionScan:使用该注解扫描指定的包路径,以寻找Spring Cloud Function的函数定义。

@EnableSleuth:使用该注解启动Spring Cloud Sleuth分布式跟踪,以实现在微服务架构中进行请求追踪和日志记录。

@EnableBinding:使用该注解将消息通道绑定到特定的消息代理,以实现异步通信或事件驱动应用程序。

@StreamListener:使用该注解创建一个新的Spring Cloud Stream消息监听器,以便消费指定主题中的消息。

@EnableKafkaStreams:使用该注解启用Kafka Streams支持,并配置Kafka Streams Binder。

@KafkaStreamsStateStore:使用该注解声明状态存储器,以便存储基于Kafka Streams的应用程序状态。

@Supplier:使用该注解创建一个新的Spring Cloud Function Supplier Bean,以供应用程序处理输入参数并生成结果。

@FunctionScan:使用该注解扫描指定的包路径,以寻找Spring Cloud Function的函数定义。

@EnableJpaAuditing:使用该注解启用JPA审计功能。

@RepositoryRestResource:使用该注解为指定实体类创建RESTful API,以便通过HTTP请求访问数据。

@JsonFormat:使用该注解为属性定义JSON序列化格式,以便生成与后端服务兼容的JSON数据。

@PathVariable:使用该注解将URL路径变量映射为控制器方法参数。

@RequestBody:使用该注解将HTTP请求体映射到控制器方法参数。

@RequestHeader:使用该注解将HTTP请求头映射为控制器方法参数。

@ResponseStatus:使用该注解设置HTTP响应状态码和响应头信息,以便客户端获取服务响应。