当前位置: 首页 > article >正文

Spring Boot的常用注解

Spring Boot 常用注解 主要分为以下几类:

  1. Spring 核心注解
  2. Spring Boot 相关注解
  3. Spring MVC 相关注解
  4. Spring Data JPA 相关注解
  5. Spring 事务管理
  6. Spring Security 相关注解
  7. Spring AOP 相关注解
  8. Spring 其他常用注解

下面是详细分类和表格展示👇:


1. Spring 核心注解

注解说明
@Component标注通用组件,Spring 容器会自动扫描并注册为 Bean
@Service标注服务层组件,作用和 @Component 相同,但语义更明确
@Repository标注持久层(DAO)组件,主要用于数据访问层,Spring 还会对其异常进行转换
@Controller标注控制层组件,用于 MVC Controller
@RestController@Controller + @ResponseBody,用于返回 JSON 数据的 RESTful API
@Configuration标注配置类,可替代 XML 配置文件
@Bean@Configuration 类中使用,用于手动定义 Bean
@ComponentScan指定 Spring 自动扫描的包路径,默认扫描当前包及其子包

2. Spring Boot 相关注解

注解说明
@SpringBootApplicationSpring Boot 核心注解,包含 @Configuration@EnableAutoConfiguration@ComponentScan
@EnableAutoConfiguration自动配置,根据类路径下的依赖自动配置 Spring Boot 应用
@ConditionalOnClass条件加载,当指定类存在时才进行 Bean 的自动配置
@ConditionalOnMissingBean条件加载,当容器中不存在指定 Bean 时才创建
@SpringBootTest用于测试 Spring Boot 应用
@EnableConfigurationProperties使 @ConfigurationProperties 注解的类生效

3. Spring MVC 相关注解

注解说明
@RequestMapping映射请求路径,可以用于类或方法级别
@GetMapping@RequestMapping(method = RequestMethod.GET) 的缩写
@PostMapping@RequestMapping(method = RequestMethod.POST) 的缩写
@PutMapping@RequestMapping(method = RequestMethod.PUT) 的缩写
@DeleteMapping@RequestMapping(method = RequestMethod.DELETE) 的缩写
@PatchMapping@RequestMapping(method = RequestMethod.PATCH) 的缩写
@RequestParam获取请求参数,用于 GETPOST 请求
@PathVariable获取路径参数,例如 /user/{id}
@RequestBody接收 JSON 请求体,用于 POSTPUT 请求
@ResponseBody将返回值转换为 JSON,返回 JSON 格式数据

4. Spring Data JPA 相关注解

注解说明
@Entity标识实体类,与数据库表映射
@Table指定表名,如果不指定,默认使用类名
@Id标识主键
@GeneratedValue自动生成主键,可指定策略 (AUTO, IDENTITY, SEQUENCE, TABLE)
@Column指定数据库字段名,如果不指定,默认使用属性名
@OneToOne一对一 关联关系
@OneToMany一对多 关联关系
@ManyToOne多对一 关联关系
@ManyToMany多对多 关联关系
@Query自定义 SQL 查询
@Transactional事务管理(见下文)

5. Spring 事务管理

注解说明
@Transactional声明事务,可以加在类或方法上
@EnableTransactionManagement启用事务管理

6. Spring Security 相关注解

注解说明
@EnableWebSecurity开启 Spring Security
@EnableGlobalMethodSecurity启用方法级安全
@PreAuthorize方法级权限控制,如 @PreAuthorize("hasRole('ADMIN')")
@Secured方法级安全控制,如 @Secured({"ROLE_ADMIN"})
@RolesAllowed方法级安全控制,等同于 @Secured

7. Spring AOP 相关注解

注解说明
@Aspect定义 AOP 切面
@Pointcut定义切点
@Before前置通知
@After后置通知
@AfterReturning返回通知
@AfterThrowing异常通知
@Around环绕通知

8. Spring 其他常用注解

注解说明
@Value注入配置值
@PropertySource引入外部配置文件
@Autowired自动注入 Bean
@Qualifier指定 Bean 名称 进行注入
@Primary设置多个 Bean 的优先级
@Scope指定 Bean 的作用域singletonprototyperequestsession 等)
@Lazy懒加载 Bean

总结

分类主要作用
Spring 核心注解定义 Bean、配置类、组件扫描等
Spring Boot 相关注解Spring Boot 自动配置、启动类相关
Spring MVC 相关注解处理 HTTP 请求、参数、返回值
Spring Data JPA 相关注解ORM 映射、数据查询
Spring 事务管理事务控制
Spring Security 相关注解权限控制、安全认证
Spring AOP 相关注解切面编程
Spring 其他常用注解配置管理、依赖注入

http://www.kler.cn/a/538506.html

相关文章:

  • Json-RPC框架项目(一)
  • MacBook Pro M2安装deepseek
  • vue学习5
  • 全国路网矢量shp数据(分不同类型分省份)
  • 集成学习(二):从理论到实战(附代码)
  • Centos执行yum命令报错
  • 光伏-报告显示,假期内,硅料端签单顺序发货相对稳定。若3月份下游存提产,则不排除硅料价格有上调预期。
  • Java怎么记录网络安全情报 java转网络安全
  • 微服务日志查询难解决方案-EFK
  • 增加工作台菜单页面,AI问答应用支持上下文设置,数据库表索引优化,zyplayer-doc 2.4.8 发布啦!
  • deepseek+kimi自动生成ppt
  • 【信奥赛CSP-J 需要掌握的STL知识有哪些?】
  • 【HarmonyOS NEXT】systemDateTime 时间戳转换为时间格式 Date,DateTimeFormat
  • C# ASP.NET程序与 Web services 编程介绍
  • Python实现机器学习小项目教程案例
  • Ollama 部署 DeepSeek-R1 及Open-WebUI
  • 响应式编程库Reactor(一)
  • USB枚举过程及Linux下U盘识别流程
  • DeepSeek-V3 论文解读:大语言模型领域的创新先锋与性能强者
  • ubuntu 22.04 cuda12.x 上 cutensor 1.6.2 版本环境搭建
  • 机器人调度系统交通管制算法
  • DeepSeek在FPGA/IC开发中的创新应用与未来潜力
  • 如何查看Ubuntu24.04系统,显卡是什么型号,适配的驱动是什么?
  • 音频进阶学习十二——Z变换一(Z变换、收敛域、性质与定理)
  • Win10环境使用ChatBox集成Deep Seek解锁更多玩法
  • MFC 基础