欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 常见的 Spring Boot 注解汇总

常见的 Spring Boot 注解汇总

2025/4/26 9:31:26 来源:https://blog.csdn.net/m0_73748193/article/details/147474524  浏览:    关键词:常见的 Spring Boot 注解汇总

🚀 Spring Boot 常见注解全解指南

🔖 一、核心类注解(启动类)

注解作用常见应用
@SpringBootApplication综合注解,包含 @SpringBootConfiguration@EnableAutoConfiguration@ComponentScan标记主启动类,自动扫描组件和配置
@SpringBootApplication
public class MyApp {public static void main(String[] args) {SpringApplication.run(MyApp.class, args);}
}

🧠 面试延伸:为什么推荐使用 @SpringBootApplication 而不是单独写三个注解?
👉 统一、简洁,且 SpringBoot 会自动做配置加载与组件扫描,简化开发。


🧱 二、组件类注解(用于创建 Bean)

注解作用使用场景
@Component表示该类是一个组件,交给 Spring 容器管理工具类、通用组件
@Service表示业务逻辑层组件Service 层
@Repository表示数据访问层组件(DAO)MyBatis / JPA 中的 Mapper
@Controller表示控制器组件(返回视图)用于 Web 页面跳转
@RestController等同于 @Controller + @ResponseBody,返回 JSON 数据RESTful 接口开发

🔗 三、依赖注入注解(IOC / DI)

注解作用注意事项
@Autowired按类型自动注入 Bean推荐用在构造器注入上
@Qualifier("beanName")指定注入 Bean 名称,解决多个实现类冲突@Autowired 联用
@ResourceJSR-250 注解,按名称注入(支持回退按类型)@Autowired 类似但更明确
@Autowired
private UserService userService; // 自动注入

🌐 四、Web 与请求相关注解(Spring MVC)

注解作用使用场景
@RequestMapping映射请求路径(支持 GET/POST 等)通用接口路径映射
@GetMapping / @PostMapping映射 GET / POST 请求常用于 REST API
@PathVariable获取 URL 中的路径参数/user/{id}
@RequestParam获取请求参数/search?key=value
@RequestBody将请求体 JSON 映射为 Java 对象接收 POST 请求的 JSON 数据
@ResponseBody将方法返回值直接写入响应体(通常返回 JSON)API 接口开发
@RestController
@RequestMapping("/user")
public class UserController {@GetMapping("/{id}")public User getUser(@PathVariable Long id) {return userService.getById(id);}
}

📦 五、配置与属性注解

注解作用常见用途
@Value("${key}")注入配置文件中的单个属性application.yml 中读取配置
@Configuration声明配置类,等同于 XML 配置Java 配置方式
@ConfigurationProperties将配置文件中一组属性映射到一个 Bean 上推荐用于绑定复杂配置结构
@EnableConfigurationProperties启用 @ConfigurationProperties 注解的类通常配合使用

🔐 六、其他常用注解

注解功能场景
@EnableAutoConfiguration启用 Spring Boot 自动配置功能(包含在 @SpringBootApplication 中)框架自动装配
@ConditionalOnMissingBean当容器中不存在某个 Bean 时再创建自定义默认配置
@Bean手动注册一个 Bean 到容器中第三方类库注册
@Profile("dev")只在特定 profile 环境下加载该类多环境配置

📌 图示:Spring Boot 注解分类结构(Mermaid)

在这里插入图片描述


✅ 总结:面试高频问法

问题建议思路
@SpringBootApplication 包含了哪些注解?说明其等同于三个注解:@ComponentScan, @EnableAutoConfiguration, @SpringBootConfiguration
如何使用 @ConfigurationProperties创建类绑定配置,使用 @EnableConfigurationProperties 激活
@RestController@Controller 的区别?前者自动加了 @ResponseBody,常用于 REST 接口返回 JSON
注入 Bean 时 @Autowired@Resource 有啥区别?前者按类型注入,后者默认按名称,建议构造方法注入提升可测试性

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词