Spring Cloud常用注解清单-Java快速入门教程
一、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响应状态码和响应头信息,以便客户端获取服务响应。