常用注解
@EnableScheduling
开启定时任务,使用注解@Scheduled(fixedRate = 3000)添加定时任务。
@EnableSchedulerLock(defaultLockAtLeastFor = "PT2S", defaultLockAtMostFor = "PT2S")
用于启用分布式锁。
当在多个节点上运行分布式应用程序并且同时使用Spring Scheduler调度任务时,需要确保同一时刻只有一个节点执行任务。
它提供了在调度过程中保持同步的机制,以确保在多个节点中只有一个节点在任何给定时刻运行任务。通常情况下,它使用Redis或Zookeeper等共享存储来实现分布式锁。
@EnableMetaSwagger2
用于启用Swagger 2自动生成API文档的功能。Swagger用于描述RESTful API,可以自动生成API文档、生成客户端SDK等。
@EnableMetaFeignClients
用于启用 Feign 客户端的支持,可以方便地与不同的 RESTful 服务进行交互。
与 @EnableFeignClients
不同,@EnableMetaFeignClients
是增强版的 Feign 客户端启用注解,它在原有的 Feign 功能基础上增加了一些元数据扩展
需要注意的是,@EnableMetaFeignClients
是由第三方实现的注解,不是 Spring Boot 官方提供。
@EnableDiscoveryClient
用于支持服务发现功能。
另一种更广泛的方式是通过 @EnableEurekaServer
来启用服务注册中心,它可以让应用程序自己充当服务注册中心。
@Slf4j
Lombok 注解之一,它通过注解在类上自动生成日志 log 变量,从而简化了在类中打印日志的过程。
@SpringBootApplication
是一个组合注解,包含以下三个注解的功能:
@Configuration
:标明该类使用 Spring 基于 Java 配置的配置。@EnableAutoConfiguration
:自动配置 Spring 上下文。@ComponentScan
:自动扫描被 Spring 容器管理的 Bean,即自动扫描所在包及其子包中的组件类。
使用了 @SpringBootApplication
注解之后,就不需要再使用这三个注解了,可以一次性完成配置、自动配置和组件扫描。
@EnableTransactionManagement
启用事务管理功能,Spring 将会根据配置信息自动创建事务代理,用于管理 DAO 层方法的事务。