79.SpringBoot的核心注解

一、SpringBoot的核心注解

  • @SpringBootApplication注解:这个注解标识了一个SpringBoot工程,它实际上是另外三个注解的组合,这三个注解是:
  • @SpringBootConfiguration:这个注解实际就是一个@Configuration,表示启动类也是一个配置类
  • @EnableAutoConfiguration:向Spring容器中导入了一个Selector,用来加载ClassPath下SpringFactories中所定义的自动配置类,将这些自动加载为配置Bean
  • @Conditional 也很关键, 如果没有它我们无法在自定义应用中进行定制开发
    @ConditionalOnBean、
    @ConditionalOnClass、
    @ConditionalOnExpression、
    @ConditionalOnMissingBean等。

二、知识延伸

Spring Boot 最核心的27个注解

@SpringBootApplication:标注一个类是 Spring Boot 应用的主类。

@EnableAutoConfiguration:启用自动配置,根据 classpath 中的 jar 包、项目的依赖和配置,自动配置 Spring Bean。

@Configuration:标注一个类是 Spring 的配置类。

@RestController:标注一个类是 RESTful API 的控制器。

@RequestMapping:用来映射请求的 URL 和处理方法,还可以设置请求的 HTTP 方法、参数、请求头等。

@GetMapping:标注一个方法是处理 GET 请求的方法。

@PostMapping:标注一个方法是处理 POST 请求的方法。

@PutMapping:标注一个方法是处理 PUT 请求的方法。

@DeleteMapping:标注一个方法是处理 DELETE 请求的方法。

@PathVariable:获取 URL 中的参数。

@RequestParam:获取请求参数。

@RequestBody:将请求体中的数据绑定到方法的参数上。

@ResponseBody:将方法返回值作为响应体返回。

@Component:标注一个类是 Spring Bean。

@Service:标注一个类是服务类。

@Repository:标注一个类是数据访问层的组件。

@Autowired:自动装配一个 Bean。

@Qualifier:指定 Bean 的名称。

@Value:获取配置文件中的属性值。

@ConfigurationProperties:将配置文件中的属性值绑定到 Bean 的属性上。

@Conditional:根据条件决定是否创建 Bean。

@Async:标注一个方法是异步方法。

@Scheduled:定时任务。

@Transactional:标注一个方法需要事务管理。

@EnableTransactionManagement:启用 Spring 的事务管理。

@EnableScheduling:启用 Spring 的定时任务。

@EnableAsync:启用 Spring 的异步方法。

相关推荐
Java面试题总结7 分钟前
GatewayWorker 从零到一完整指南
java
脉动数据行情19 分钟前
Java OkHttp 完整封装 GC COMEX 美黄金实时盘口定时拉取工具类
java·okhttp·comex 黄金·外盘贵金属
敖行客 Allthinker24 分钟前
IM 融合专题:后端架构师的核心修炼
java·开发语言·数据库
进击的程序猿~29 分钟前
Go Slice源码深度解析指南
开发语言·后端·golang
HAPPY酷34 分钟前
【ROS2】16G 内存笔记本跑 ROS2 仿真?VMware 虚拟机“保姆级”配置指南 (R9 7940HX + RTX 4060)
java·linux·ide·windows·pycharm
程序员爱钓鱼39 分钟前
Rust 变量与不可变性:为什么默认不能修改变量?
前端·后端·rust
折哥的程序人生 · 物流技术专研9 小时前
第4篇:Lambda 简化策略模式(Java 8+)
java·设计模式·策略模式·函数式编程·lambda·代码简化·扩充系列
GoGeekBaird9 小时前
我开源了 BeeWeave,给 AI Agent 搭一个越用越懂你的知识创作台
后端·github
researcher-Jiang10 小时前
高性能计算之OpenMP——超算习堂学习1
android·java·学习
西门吹-禅11 小时前
java springboot N+1问题
java·开发语言·spring boot