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

Spring Boot 注解

Spring Boot 是基于 Spring 框架的开发框架,提供了许多注解来简化配置和开发。以下是一些常见的 Spring Boot 注解,包括它们的作用和简单介绍:

1. @SpringBootApplication

  • 作用:标识一个 Spring Boot 应用的入口点。它是一个组合注解,包含了 @Configuration@EnableAutoConfiguration@ComponentScan
  • 常见用途:通常用于主类,启动 Spring Boot 应用。

2. @RestController

  • 作用:这是 @Controller@ResponseBody 的组合注解,用于定义一个 RESTful 风格的控制器。它的所有方法都会自动返回 JSON 格式的响应。
  • 常见用途:创建 Web 控制器,处理 HTTP 请求。

3. @RequestMapping(及其派生注解)

  • 作用:用于定义 URL 路径与方法之间的映射关系。
  • 常见用途:处理 HTTP 请求,支持 GET、POST、PUT、DELETE 等方法。
  • 派生注解
    • @GetMapping:处理 GET 请求
    • @PostMapping:处理 POST 请求
    • @PutMapping:处理 PUT 请求
    • @DeleteMapping:处理 DELETE 请求

4. @Autowired

  • 作用:自动注入 Spring 容器中的 Bean。
  • 常见用途:自动注入依赖的服务、组件等。

5. @Component@Service@Repository@Controller

  • 作用:用于标识类作为 Spring 容器中的 Bean,Spring 会自动管理这些类的生命周期。
  • 常见用途
    • @Component:用于普通的 Bean。
    • @Service:用于服务层 Bean。
    • @Repository:用于数据访问层 Bean。
    • @Controller:用于控制器类。

6. @Value

  • 作用:用于注入外部配置文件(如 application.properties)的值。
  • 常见用途:将配置文件中的值注入到类的字段中。

7. @Configuration

  • 作用:标记当前类为 Spring 配置类,通常用于声明 Bean。
  • 常见用途:定义 Bean,配置 Spring 容器。

8. @Bean

  • 作用:在配置类中声明一个 Bean,Spring 会自动管理该 Bean 的生命周期。
  • 常见用途:定义并注册一个 Bean。

9. @EnableAutoConfiguration

  • 作用:启用 Spring Boot 的自动配置机制。通常不需要手动使用,因为 @SpringBootApplication 已经包含了它。
  • 常见用途:开启自动配置,减少手动配置工作。

10. @Profile

  • 作用:根据不同的环境(如开发、生产)加载不同的 Bean 配置。
  • 常见用途:为特定环境定义 Bean,例如开发环境和生产环境的不同配置。

11. @Transactional

  • 作用:标记一个方法或类需要支持事务管理,确保方法执行过程中出现异常时,事务会回滚。
  • 常见用途:在服务层方法中使用事务管理。

12. @RequestParam

  • 作用:从 HTTP 请求中获取查询参数,通常用于处理 GET 请求。
  • 常见用途:获取请求参数。

13. @PathVariable

  • 作用:获取 URL 路径中的参数,通常用于 RESTful 风格的 API。
  • 常见用途:处理 URL 中的动态参数。

14. @SpringBootTest

  • 作用:用于测试 Spring Boot 应用,启动一个完整的 Spring 容器进行集成测试。
  • 常见用途:进行集成测试,加载完整的应用上下文。

15. @EnableScheduling

  • 作用:启用 Spring 的定时任务调度功能。
  • 常见用途:在应用中执行定时任务。

16. @EnableAspectJAutoProxy

  • 作用:启用 Spring AOP(面向切面编程),自动代理 AspectJ。
  • 常见用途:启用 AOP 功能。

17. @Cacheable

  • 作用:用于方法级别的缓存,Spring 会根据方法参数来缓存返回结果。
  • 常见用途:缓存方法的返回结果,减少重复计算。
http://www.lryc.cn/news/488853.html

相关文章:

  • P8692 [蓝桥杯 2019 国 C] 数正方形:结论,组合数学
  • Spring Boot开发—— 实现订单号生成逻辑
  • React中Redux的基本用法
  • unity3d————基础篇小项目(设置界面)
  • 推荐几个 VSCode 流程图工具
  • 用java和redis实现考试成绩排行榜
  • hhdb数据库介绍(9-24)
  • HDMI数据传输三种使用场景
  • unigui 登陆界面
  • 无人机 PX4飞控 | CUAV 7-Nano 飞行控制器介绍与使用
  • 安装spark
  • 佛山三水戴尔R740服务器黄灯故障处理
  • 大学课程项目中的记忆深刻 Bug —— 一次意外的数组越界
  • html数据类型
  • Kotlin Multiplatform 未来将采用基于 JetBrains Fleet 定制的独立 IDE
  • Redis中常见的数据类型及其应用场景
  • 代理IP在后端开发中的应用与后端工程师的角色
  • 工作流和流程引擎有什么区别?
  • 【SpringBoot】27 拦截器
  • AI对开发者的影响,以及传统软件开发 与 AI参与的软件开发区别
  • HBase Java基础操作
  • 关于一次开源java spring快速开发平台项目RuoYi部署的记录
  • 【AI编程实战】安装Cursor并3分钟实现Chrome插件(保姆级)
  • 【Chatgpt】如何通过分层Prompt生成更加细致的图文内容
  • 中间件--laravel进阶篇
  • 【vue】vue中.sync修饰符如何使用--详细代码对比
  • repmgr安装及常用运维指令
  • RedHat系统配置静态IP
  • nvm和nrm的安装与使用
  • 10大核心应用场景,解锁AI检测系统的智能安全之道