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

相关推荐
王码码2035几秒前
Go语言CGO:Go与C交互
后端·golang·go·接口
XiaoYu1__3 分钟前
JavaGUI文件管理系统开发实战:从静态展示到动态交互的演进
java·开发语言
霸道流氓气质12 分钟前
MCP(Model Context Protocol)核心概念与Java SDK集成
java·开发语言
PC2005-cloud38 分钟前
DSH 白嫖指南:接入 Command Code Go、WorkBuddy 与 Trae 的免费额度
开发语言·后端·golang
敲代码的嘎仔38 分钟前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
步行cgn40 分钟前
Spring 的模块体系详解
java·数据库·spring
xcl09251 小时前
智慧健身场馆系统开发实战:从架构设计到核心模块落地指南
java·spring boot
vx-程序开发1 小时前
【计算机毕设】基于Spring Boot的古城景区管理系统88564
java·数据库·spring boot·后端·spring·elasticsearch·课程设计
鹿角片ljp1 小时前
LeetCode 31:下一个排列|右找小,右找大,交换,右反转
java·数据结构·算法
边境悍匪1 小时前
蜗牛学苑 Java 智能体学习 Day40|Vue 工程化与 ElementPlus 思维导图复盘
java·vue.js·学习