当前位置: 首页 > news >正文

SpringBoot注解

Spring Boot 中常用的一些注解及其作用如下所示:

  1. @SpringBootApplication:标注一个主程序类,用于启动 Spring Boot 应用,通常放在包的最顶层。

  2. @RestController:结合 @Controller  @ResponseBody,用于定义 RESTful 服务端控制器。

  3. @GetMapping@PostMapping@PutMapping@DeleteMapping:分别表示处理 HTTP 的 GET、POST、PUT、DELETE 请求的方法,用于映射请求 URL 到具体的处理方法。

  4. @PathVariable:用于将 URL 中的模板变量映射到方法参数中。

  5. @RequestParam:用于从请求参数中获取值,映射到方法参数中。

  6. @Autowired:自动装配 Bean,可以在构造方法、属性上使用。

  7. @Service@Component@Repository@Controller:用于定义服务类、组件类、数据访问类和控制器类,Spring 会自动扫描并注册这些类为 Bean。

  8. @Configuration:用于定义配置类,主要用于配置 Bean。

  9. @Value:注入配置文件中的属性值。

  10. @Qualifier:指定 Bean 的名称进行注入。

  11. @ConditionalOnProperty:根据配置文件中的属性值来决定是否装配 Bean。

  12. @EnableAutoConfiguration:启用自动配置,Spring Boot 会根据依赖自动配置应用的各种默认行为。

  13. @Async:表明被注解的方法是一个异步方法,可单独开启一个线程来执行。

  14. @Bean:在 Java 配置类中使用,用于定义 Bean,Spring 容器会根据该注解创建 Bean 对象并放入容器中。

  15. @ConfigurationProperties:将配置文件中的属性值和 Bean 的属性进行绑定,通常与 @Configuration 结合使用。

  16. @EnableScheduling:启用定时任务的注解,使得 @Scheduled 注解等生效。

  17. @Transactional:用于声明事务性方法,使得方法具有事务性,通常用在 Service 层的方法上。

  18. @Valid:用于表示需要验证的方法参数,结合 Hibernate Validator 进行方法参数的校验。

  19. @PreAuthorize@PostAuthorize@Secured:用于方法级的安全控制,进行访问权限的控制。

  20. @CrossOrigin:用于处理跨域请求,可以在 Controller 类或方法上添加该注解。

  21. @Entity@Table@Column:用于 JPA 实体类与数据库表的映射关系。

  22. @Scheduled:用于定时调度任务,可以指定方法定时执行的规则,例如固定间隔、固定延迟等。

  23. @RequestMapping:用于映射 HTTP 请求到处理方法上,可以指定请求的 URL、请求方法等属性。

  24. @ExceptionHandler:用于处理Controller内部异常,可以在方法中捕获特定异常并进行处理。

  25. @ResponseStatus:用于定义处理特定异常时返回的 HTTP 状态码。

  26. @ResponseBody:将方法返回值直接以 JSON 或 XML 格式写入 HTTP 响应体中。

  27. @RequestBody:用于接收 HTTP 请求体中的数据,并将其转换成对象。

  28. @EnableCaching:启用缓存支持,可以在方法上使用 @Cacheable@CachePut@CacheEvict 注解来实现缓存功能。

  29. @EnableTransactionManagement:开启事务管理支持,可以在 Service 层的方法上使用 @Transactional 注解管理事务。

  30. @ComponentScan:用于指定要扫描的包路径,Spring Boot 将会扫描该包及其子包下的所有组件。

  31. @PropertySource:用于加载指定的属性源,可以指定加载的配置文件路径。

  32. @Profile:根据当前环境激活对应的配置文件或 Bean。

  33. @EventListener:监听 Spring 应用中的事件,可以在方法中处理特定的事件。

  34. @EnableSwagger2:集成 Swagger2 生成 API 文档。

  35. @EnableFeignClients:启用 Feign 客户端,用于简化调用其他 REST 服务的过程。

  36. @EnableDiscoveryClient:启用服务注册与发现功能,用于与服务注册中心进行通信。

  37. @EnableEurekaClient:声明当前应用是 Eureka 服务注册中心的客户端。

  38. @EnableHystrix:启用 Hystrix 断路器,用于处理服务容错和降级。

  39. @EnableZuulProxy:启用 Zuul 网关,用于统一访问和路由请求。

  40. @EntityScan:用于指定实体类的扫描路径,通常与 JPA 搭配使用。

  41. @EnableJpaRepositories:启用 JPA 仓库功能,用于扫描和管理 JPA Repository 接口。

  42. @EnableAsync:启用异步方法执行功能,可以配合 @Async 使用。

  43. @EnableBatchProcessing:启用 Spring 批处理功能。

  44. @EnableWebMvc:用于自定义 Spring MVC 配置,并且要保留默认的配置。

  45. @EnableWebFlux:启用 WebFlux 配置,支持响应式编程。

  46. @ConditionalOnProperty:根据配置文件中的属性值来决定是否启用某个配置。

  47. @ConditionalOnClass@ConditionalOnMissingClass:根据类路径上是否存在某个类来决定是否启用或禁用某个配置。

  48. @ConditionalOnBean@ConditionalOnMissingBean:根据是否存在某个 Bean 来决定是否启用或禁用某个配置。

  49. @ConditionalOnExpression:根据 SpEL 表达式的结果来决定是否启用某个配置。

http://www.lryc.cn/news/322531.html

相关文章:

  • 每日三个JAVA经典面试题(十九)
  • springboot企业级抽奖项目业务一(登录模块)
  • 【Python + Django】启动简单的文本页面
  • Docker——问题解决:服务器端和Windows端IP互通
  • HTTP跨域
  • 用Python的turtle库绘制皮卡丘
  • C语言打印当前时间
  • (一)基于IDEA的JAVA基础4
  • 【Python】复习12:标准库与第三方库
  • CUDA 12介绍
  • 旅游系统-软件与环境
  • AI基础知识(2)--决策树,神经网络
  • 蓝桥杯C++大学B组一个月冲刺记录2024/3/21
  • 由浅到深认识C语言(14):枚举
  • 速盾cdn:cdn节点缓存内容不一致怎么办?
  • 【LAMMPS学习】三、构建LAMMPS(6)在构建中包含软件包
  • apache commons-dbcp Apache Commons DBCP 软件实现数据库连接池 commons-dbcp2
  • 8.2K star!史上最强Web应用防火墙
  • 浅谈RPC的理解
  • JDK发布信息、历史及未来规划
  • 帅帅密码管理系统使用教程
  • 漫谈5种注册中心
  • Vulnhub靶机:Kioptrix_2014
  • Spring Boot整合Spring Security
  • Rust字符串深入理解
  • TSINGSEE青犀AI智能分析网关V4酿酒厂安全挂网AI检测算法
  • LeetCode第126场双周赛个人题解
  • 牛客NC403 编辑距离为一【中等 模拟法 Java,Go,PHP】
  • C# SetWindowPos函数
  • zookeeper快速入门五:用zookeeper实现服务注册与发现中心