Spring框架核心注解(Spring,SpringMVC,SpringBoot)

在 Java 开发中,Spring 框架及其衍生技术(如 Spring MVC 和 Spring Boot)已经成为构建企业级应用的首选工具。这些框架的核心功能离不开各种注解的支持。本文将全面解析 Spring、Spring MVC 和 Spring Boot 中的核心注解,帮助开发者更好地理解和使用这些框架。

一、Spring 核心注解

Spring 框架的核心是依赖注入(DI)和面向切面编程(AOP)。以下是 Spring 中最常用的核心注解:

1. Bean 相关注解

  • @Component

    通用的注解,用于标记一个类为 Spring 容器管理的 Bean。

  • @Service

    用于标记服务层的组件,是 @Component 的特化版本。

  • @Repository

    用于标记数据访问层(DAO)的组件,是 @Component 的特化版本。

  • @Controller

    用于标记控制器层的组件,通常与 Spring MVC 一起使用。

  • @Configuration

    标记一个类为配置类,相当于 XML 配置文件。

  • @Bean

    在配置类中定义 Bean,相当于 XML 中的 <bean> 标签。

2. 依赖注入相关注解

  • @Autowired

    自动注入依赖,可以用于字段、构造方法或 setter 方法。

  • @Qualifier

    当有多个相同类型的 Bean 时,用于指定具体的 Bean。

  • @Value

    用于注入属性值,通常用于注入配置文件中的值。

3. AOP 相关注解

  • @Aspect

    标记一个类为切面类。

  • @Before@After@Around

    定义切面中的通知方法。

二、Spring MVC 核心注解

Spring MVC 是 Spring 框架中用于构建 Web 应用的模块。以下是 Spring MVC 中的核心注解:

1. 控制器相关注解

  • @RequestMapping

    映射 HTTP 请求到控制器方法,可以指定 URL 路径和 HTTP 方法。

  • @GetMapping@PostMapping@PutMapping@DeleteMapping

    @RequestMapping 的特化版本,分别对应不同的 HTTP 方法。

  • @RestController

    组合了 @Controller@ResponseBody,用于构建 RESTful Web 服务。

2. 请求参数相关注解

  • @RequestParam

    用于绑定请求参数到方法参数。

  • @PathVariable

    用于绑定 URL 路径中的变量到方法参数。

  • @RequestBody

    用于将请求体中的 JSON 或 XML 数据绑定到 Java 对象。

3. 响应相关注解

  • @ResponseBody

    将方法返回值直接写入 HTTP 响应体。

  • @ResponseStatus

    指定 HTTP 响应的状态码。

三、Spring Boot 核心注解

Spring Boot 是 Spring 的扩展,旨在简化 Spring 应用的开发和部署。以下是 Spring Boot 中的核心注解:

1. 启动类相关注解

  • @SpringBootApplication

    组合了 @Configuration@EnableAutoConfiguration@ComponentScan,用于标记 Spring Boot 应用的启动类。

2. 自动配置相关注解

  • @EnableAutoConfiguration

    启用 Spring Boot 的自动配置机制。

  • @ConditionalOnClass@ConditionalOnMissingBean

    条件化配置注解,用于控制 Bean 的加载。

3. 配置文件相关注解

  • @ConfigurationProperties

    将配置文件中的属性绑定到 Java 对象。

  • @PropertySource

    加载指定的配置文件。

四、图文总结

  1. Spring核心注解
  1. SpringMVC核心注解
  1. SpringBoot核心注解
  • @Configuration - 组合了- @Configuration注解,实现配置文件的功能
  • @EnableAutoConfiguration - 打开自动配置的功能,也可以关闭某个自动配置的选
  • @ComponentScan - Spring组件扫描
相关推荐
老华带你飞2 分钟前
小区服务|基于Java+vue的小区服务管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·小区服务管理系统
华仔啊9 分钟前
Spring 配置混乱?搞懂这两个核心组件,问题真能少一半
java·后端·spring
Nan_Shu_61410 分钟前
学习:uniapp全栈微信小程序vue3后台(28)
前端·学习·微信小程序·小程序·uni-app
珍宝商店20 分钟前
原生 JavaScript 方法实战指南
开发语言·前端·javascript
喂完待续20 分钟前
【序列晋升】45 Spring Data Elasticsearch 实战:3 个核心方案破解索引管理与复杂查询痛点,告别低效开发
java·后端·spring·big data·spring data·序列晋升
龙茶清欢24 分钟前
具有实际开发参考意义的 MyBatis-Plus BaseEntity 基类示例
java·spring boot·spring cloud·mybatis
计算机学姐28 分钟前
基于微信小程序的扶贫助农系统【2026最新】
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
蓝莓味的口香糖30 分钟前
【企业微信】VUE项目在企微中自定义转发内容
前端·vue.js·企业微信
IT_陈寒30 分钟前
告别低效!用这5个Python技巧让你的数据处理速度提升300% 🚀
前端·人工智能·后端
—Qeyser32 分钟前
Laravel + UniApp AES加密/解密
前端·uni-app·laravel