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

相关推荐
CopyLower12 分钟前
在 Spring Boot 中实现 WebSockets
spring boot·后端·iphone
IT小辉同学26 分钟前
Docker如何更换镜像源提高拉取速度
spring cloud·docker·eureka
24k小善34 分钟前
Flink TaskManager详解
java·大数据·flink·云计算
想不明白的过度思考者39 分钟前
Java从入门到“放弃”(精通)之旅——JavaSE终篇(异常)
java·开发语言
.生产的驴1 小时前
SpringBoot 封装统一API返回格式对象 标准化开发 请求封装 统一格式处理
java·数据库·spring boot·后端·spring·eclipse·maven
猿周LV1 小时前
JMeter 安装及使用 [软件测试工具]
java·测试工具·jmeter·单元测试·压力测试
景天科技苑1 小时前
【Rust】Rust中的枚举与模式匹配,原理解析与应用实战
开发语言·后端·rust·match·enum·枚举与模式匹配·rust枚举与模式匹配
晨集1 小时前
Uni-App 多端电子合同开源项目介绍
java·spring boot·uni-app·电子合同
时间之城1 小时前
笔记:记一次使用EasyExcel重写convertToExcelData方法无法读取@ExcelDictFormat注解的问题(已解决)
java·spring boot·笔记·spring·excel
椰羊~王小美1 小时前
LeetCode -- Flora -- edit 2025-04-25
java·开发语言