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

SpringBoot常用注解

SpringBoot常用注解

Spring Boot 是一个基于 Java 的框架,用于简化新 Spring 应用程序的初始设置和配置。它允许开发者快速地创建独立运行、生产级别的 Spring 应用程序。Spring Boot 中有许多常用的注解,这些注解可以帮助开发者更方便地管理和配置应用程序。下面是一些最常用的 Spring Boot 注解:

@SpringBootApplication:

这个注解是一个组合注解,包含了 @Configuration、@EnableAutoConfiguration 和 @ComponentScan。
@Configuration 表示该类可以作为配置类,替代 XML 配置文件。
@EnableAutoConfiguration 启用 Spring Boot 的自动配置机制,根据 classpath 中的 jar 包来猜测并配置应用程序。
@ComponentScan 自动扫描并注册带有@Component、@Service、@Controller 等注解的 Bean。

@RestController:

用于标记控制器层组件,表示这是一个 RESTful Web 服务的控制器。
它实际上是 @Controller 和 @ResponseBody 的组合注解,意味着该类中的所有方法都会返回 JSON 或 XML 数据,而不是视图。

@RequestMapping:

用于映射 HTTP 请求到处理方法上。
可以作用于类级别(定义基础路径)或方法级别(定义具体请求路径)。
支持 GET、POST、PUT、DELETE 等 HTTP 方法。
**

1. 基本用法

**
类级别
在类级别使用 @RequestMapping 可以定义基础路径,所有该类中的方法都会继承这个基础路径。

@RequestMapping("/api")
public class UserController {// 方法级别的映射@RequestMapping("/users")public List<User> getUsers() {// 返回用户列表}
}

在这个例子中,/api/users 将被映射到 getUsers 方法。
方法级别
在方法级别使用 @RequestMapping 可以定义具体的请求路径和方法类型。

@RequestMapping(value = "/users", method = RequestMethod.GET)
public List<User> getUsers() {// 返回用户列表
}

2. 支持的 HTTP 方法

@RequestMapping 可以指定支持的 HTTP 方法,如 GET、POST、PUT、DELETE 等。

@RequestMapping(value = "/users", method = RequestMethod.POST)
public User createUser(@RequestBody User user) {// 创建用户
}

3. 路径变量

使用 @PathVariable 可以从 URL 中提取变量

@RequestMapping(value = "/users/{id}", method = RequestMethod.GET)
public User getUserById(@PathVariable("id") Long id) {// 根据 ID 获取用户
}

4. 请求参数

使用 @RequestParam 可以从请求参数中提取值。

@RequestMapping(value = "/users/search", method = RequestMethod.GET)
public List<User> searchUsers(@RequestParam("name") String name) {// 根据名字搜索用户
}

5. 请求体

使用 @RequestBody 可以从请求体中读取数据。

@RequestMapping(value = "/users", method = RequestMethod.POST)
public User createUser(@RequestBody User user) {// 创建用户
}

6. 生产环境中的最佳实践

@GetMapping("/users")
public List<User> getUsers() {// 返回用户列表
}@PostMapping("/users")
public User createUser(@RequestBody User user) {// 创建用户
}@GetMapping("/users/{id}")
public User getUserById(@PathVariable("id") Long id) {// 根据 ID 获取用户
}@PutMapping("/users/{id}")
public User updateUser(@PathVariable("id") Long id, @RequestBody User user) {// 更新用户
}@DeleteMapping("/users/{id}")
public void deleteUser(@PathVariable("id") Long id) {// 删除用户
}

@GetMapping, @PostMapping, @PutMapping, @DeleteMapping:

这些注解是 @RequestMapping 的快捷方式,分别对应 HTTP 的 GET、POST、PUT、DELETE 方法。
例如,@GetMapping(“/users”) 相当于 @RequestMapping(value = “/users”, method = RequestMethod.GET)。

@PathVariable:

用于获取 URL 中的变量值。
例如,在 @GetMapping(“/users/{id}”) 中,可以通过 @PathVariable(“id”) 来获取 URL 中的 id 值。

@RequestParam:

用于获取请求参数的值。
例如,如果请求包含 ?name=value,则可以通过 @RequestParam(“name”) 来获取 name 参数的值。

@Autowired:

用于自动装配 Bean。
可以作用于字段、构造器、setter 方法等,Spring 会自动寻找匹配的 Bean 并注入。

@Service:

用于标记业务层组件。
类似于 @Component,但更加具体,表明这是一个服务类。

@Repository:

用于标记数据访问层组件。
类似于 @Component,但更加具体,表明这是一个数据访问类。

@Entity:

用于标记 JPA 实体类。
表示该类将映射到数据库表。

@Transactional:

用于管理事务。
可以作用于类级别或方法级别,确保方法内的操作在一个事务中执行。


http://www.mrgr.cn/news/62517.html

相关文章:

  • 光控资本:突然终止!并购重组,有变数!
  • solidworks学习6吊环-20241030
  • NVR设备ONVIF接入平台EasyCVR视频融合平台智慧小区视频监控系统建设方案
  • 通过不当变更导致 PostgreSQL 翻车的案例分析与防范
  • 无人机之目标检测算法篇
  • 【常用动画方式】transition\animation\定时器setInterval+setTimeout\requestAnimationFrame
  • 电脑使用技巧:电脑分区如何合并?
  • YOLO11论文 | 实用脚本 | 绘制多个实验的loss、mAP@0.5、mAP@0.5:0.95的高级图像【科研必备 + 绘图神器】
  • 性价比高的挂耳式耳机有哪些?五大性价比高的挂耳式耳机推荐
  • java 集合类详解
  • Navigation组件页面跳转
  • day14:RSYNC同步
  • Python自动化数据备份与同步
  • 工业设计岗位18K招聘,要求必须会AI,但AI究竟该怎么学呢?
  • HJ108 求最小公倍数
  • 《JVM第3课》运行时数据区
  • Java开发者的Python快速进修指南:文件操作
  • 键盘监听事件xss攻击
  • C++学习日记 | LAB 11 类中的动态内存管理
  • (五)Web前端开发进阶2——AJAX
  • Fsm3
  • Diving into the STM32 HAL-----USART
  • X86下fftw3库的编译和链接undefined reference to fftwf_malloc
  • 什么是ajax,为什么使用ajax?ajax都有哪些优点和缺点?
  • 006 单词倒序
  • 使用sql计算每天新增用户的ltv1、ltv2以及次留