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 的异步方法。

相关推荐
用户791177242358319 分钟前
黑马点评秒杀优化和场景补充
后端
猎豹奕叔23 分钟前
设计模式的重要设计原则,建议收藏
后端
笨手笨脚の35 分钟前
设计模式-装饰器模式
java·设计模式·装饰器模式·结构型设计模式
低音钢琴41 分钟前
【碎片化学习】SpringBoot中的自动配置(Auto Configuration)
spring boot·后端
9毫米的幻想1 小时前
【Linux系统】—— 程序地址空间
java·linux·c语言·jvm·c++·学习
C++chaofan1 小时前
Redisson分布式限流
java·jvm·spring boot·redis·分布式·mvc·redisson
whltaoin1 小时前
Java 网络请求 Jar 包选型指南:从基础到实战
java·http·okhttp·网络请求·retrofit
hello 早上好1 小时前
嵌入式 Tomcat 与 Spring MVC 集成
spring·tomcat·mvc
TGITCIC1 小时前
SpringCloud API Gateway2.0如何解决docker中应用间IP漂移的正确手法
spring cloud·docker·云原生·本地镜像·api gateway
疯癫的老码农1 小时前
【word解析】从OLE到OMML:公式格式转换的挑战与解决方案
java·spring boot·spring·word