Spring Boot 常用注解

ops/2024/11/14 6:04:30/
1. 基础 Spring 注解
  • @Component
    • 标记一个类作为 Spring IoC 容器的一个组件。
  • @Repository
    • 标记一个 DAO 类,同时提供了异常转换机制。
  • @Service
    • 标记业务逻辑层的服务类。
  • @Controller
    • 标记一个 Web 层的控制器类。
  • @RestController
    • 结合了 @Controller 和 @ResponseBody,用于直接返回 JSON/XML 数据的 RESTful 控制器。
  • @Autowired
    • 自动注入 Bean 的实例。
  • @Qualifier
    • 当存在多个相同类型的 Bean 时,用于指定注入哪个 Bean。
  • @Configuration
    • 标记类作为配置类,可以用来定义 Bean。
  • @Bean
    • 在配置类中定义 Bean。
  • @Import
    • 导入其他配置类。
  • @PropertySource
    • 指定额外的属性源文件。
  • @Value
    • 注入属性值。
2. Spring Boot 特性注解
  • @SpringBootApplication
    • 合并了 @Configuration@EnableAutoConfiguration@ComponentScan。是 Spring Boot 应用的主要入口点。
  • @EnableAutoConfiguration
    • 启用 Spring Boot 的自动配置功能。
  • @Conditional
    • 控制 Bean 的创建条件。
  • @Profile
    • 标记特定环境下的配置。
  • @ConditionalOnClass
    • 如果给定的类存在于类路径中,则创建 Bean。
  • @ConditionalOnMissingClass
    • 如果给定的类不存在于类路径中,则创建 Bean。
  • @ConditionalOnProperty
    • 根据配置属性的存在与否来决定是否创建 Bean。
  • @ConditionalOnExpression
    • 根据 SpEL 表达式的计算结果来决定是否创建 Bean。
  • @ConditionalOnWebApplication
    • 如果应用是 Web 应用,则创建 Bean。
  • @ConditionalOnNotWebApplication
    • 如果应用不是 Web 应用,则创建 Bean。
  • @EnableConfigurationProperties
    • 用于注册配置属性类的 Bean。
  • @ConfigurationProperties
    • 将 Java 对象与配置属性绑定在一起。
3. 测试相关的注解
  • @RunWith(SpringRunner.class)
    • 使用 Spring 测试框架。
  • @SpringBootTest
    • 对整个 Spring Boot 应用进行集成测试。
  • @WebMvcTest
    • 只加载 Spring MVC 组件进行测试。
  • @DataJpaTest
    • 只加载 JPA 相关的组件进行测试。
  • @Transactional
    • 标记测试方法为事务性的。
4. 安全相关的注解
  • @EnableWebSecurity
    • 启用 Web 安全配置。
  • @EnableGlobalMethodSecurity
    • 启用全局方法级别的安全控制。
5. RESTful 相关的注解
  • @GetMapping
    • 处理 HTTP GET 请求。
  • @PostMapping
    • 处理 HTTP POST 请求。
  • @PutMapping
    • 处理 HTTP PUT 请求。
  • @DeleteMapping
    • 处理 HTTP DELETE 请求。
  • @PatchMapping
    • 处理 HTTP PATCH 请求。
  • @RequestMapping
    • 用于映射请求路径,可以替代以上特定请求类型的注解。
  • @PathVariable
    • 从 URL 中获取参数。
  • @RequestParam
    • 从请求的查询字符串中获取参数。
  • @RequestBody
    • 获取请求体中的数据。
  • @ResponseBody
    • 将方法的返回值直接写入响应体中。
6. 异步相关的注解
  • @Async
    • 标记方法为异步执行。
  • @EnableAsync
    • 启用异步支持。
7. 国际化相关的注解
  • @MessageSource
    • 注入消息资源。
  • @EnableMessageSource
    • 启用消息源。
8. 日志相关的注解
  • @Slf4j
    • 自动生成 Logger
  • @Log4j2
    • 生成 Log4j2 的 Logger

http://www.ppmy.cn/ops/111412.html

相关文章

Weakly-Supervised Video Moment Retrieval via Semantic Completion Network 论文阅读

Weakly-Supervised Video Moment Retrieval via Semantic Completion Network 论文阅读 AbstractIntroductionRelated WorkApproachProblem FormulationProposal Generation ModuleSemantic Completion ModuleTraining of Semantic Completion NetworkNetwork Design Experimen…

Spring boot中常用注解解释

Data 是Lombok提供的注解,结合了以下几个常用注解的功能: Getter: 自动为所有字段生成getter方法。 Setter: 自动为所有字段生成setter方法。 ToString: 自动生成toString()方法。 EqualsAndHashCode: 自动生成equals()和hashCode()方法。 RequiredArgs…

【Linux】调试和Git及进度条实现

这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:Linux入门到进阶 🌏代码仓库: 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论 目录 1.…

开源反向代理工具-Nginx

Nginx简介 NGINX 是一种高性能的反向代理服务器、负载均衡器和 HTTP 缓存服务器。它的设计初衷是为了应对高并发和低资源消耗,尤其适合处理大量的短连接请求。NGINX 的高效性能来自其事件驱动架构和异步非阻塞的处理方式。 Nginx工作原理 1.事件驱动模型 Nginx使用…

Qt常用控件——QDateTimeEdit

文章目录 QDateTimeEdit核心属性及信号时间计算器 QDateTimeEdit核心属性及信号 QDateEdit作为日期的微调框QTimeEdit作为时间的微调框QDateTimeEdit作为时间日期的微调框 它们的使用方式都是类似的,本篇以QDateTimeEdit作为示例 核心属性: 属性说明…

【TS】TypeScript配置详解【三】

文章目录 简介根字段filesincludeexcludereferences CompilerOptions(编辑器选项)Type Checking(类型检查)allowUnreachableCode(允许无法访问的代码)allowUnusedLabels(允许未使用的标签&#…

Java应用压测工具JMeter

目录 1、下载JMeter 2、配置环境变量 3、配置语音 4、使用 1、下载JMeter Apache JMeter - Apache JMeter™ 千万别下载这个,会报错、 千万别下载这个,会报错、 千万别下载这个,会报错 下载这个,失败多下载几次 2、配置环…

智慧体育场馆:科技引领未来运动体验

在当今数字化时代,​智慧体育场馆​的建设不仅提升了观众、运动员和管理者的体验质量,也为体育产业注入了新的活力和创新。通过整合先进科技和智能系统,体育场馆能够实现更高效的运营管理、提升赛事体验以及优化资源利用。以下是古河云科技构…