28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈

前言在使用SpringBoot开发中或者在求职面试中都会使用到很多注解或者问到注解相关的知识 。本文主要对一些常用的注解进行了总结,同时也会举出具体例子,供大家学习和参考 。
注解一览表

28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈

文章插图
 

28个SpringBoot项目中常用注解,日常开发、求职面试不再懵圈

文章插图
 
启动类以及配置类相关@SpringBootApplication解释:
  • @SpringBootApplication是组合注解 。相当于@Configuration、@EnableAutoConfiguration、@ComponentScan的组合 。
  • 用于标记启动类,指出应用入口 。
@SpringBootApplicationpublic class MyApplication {public static void mAIn(String[] args) {SpringApplication.run(MyApplication.class, args);}}@Configuration解释:
  • 声明当前类为配置类 。相当于xml配置中的beans标签 。
@Configurationpublic class MyConfig {@Beanpublic MyBean myBean() {return new MyBean();}}@EnableAutoConfiguration解释:
  • 开启SpringBoot自动装配功能 。
@SpringBootApplication@EnableAutoConfigurationpublic class MyApplication {// ...}@ComponentScan解释:
  • 配置SpringBoot扫描包路径 。
@SpringBootApplication@ComponentScan("com.example")public class MyApplication {// ...}控制层相关@RestController解释:
  • @RestController注解用于定义控制器类,将其返回的结果自动转换为JSON格式
@RestControllerpublic class UserController {@GetMapping("/users")public List<User> getAllUsers() {// 返回所有用户列表的逻辑}}@RequestMapping解释:
  • 用于映射HTTP请求到处理器上,指定处理器方法的URL路径和HTTP请求方法 。
@RestController@RequestMapping("/users")public class UserController {@GetMapping("/{id}")public User getUserById(@PathVariable("id") Long id) {// 根据id获取用户的逻辑}}@GetMapping、@PostMapping、@DeleteMapping、@PutMapping
解释:
  • @GetMapping注解用于处理HTTP的GET请求,并将请求映射到相应的处理器方法上 。
  • @PostMapping注解用于处理HTTP的POST请求,并将请求映射到相应的处理器方法上 。
  • @DeleteMapping注解用于处理HTTP的DELETE请求,并将请求映射到相应的处理器方法上 。
  • @PutMapping是Spring框架中用于处理HTTP的PUT请求的注解 。PUT请求通常用于更新资源,即将新的数据替换掉指定的资源 。
 
@RestController@RequestMapping("/users")public class UserController {@GetMapping("/{id}")public User getUserById(@PathVariable("id") Long id) {// 根据id获取用户的逻辑}}@RestController@RequestMapping("/users")public class UserController {@PostMappingpublic User createUser(@RequestBody User user) {// 创建用户的逻辑}}@RestController@RequestMapping("/users")public class UserController {@DeleteMapping("/{id}")public void deleteUser(@PathVariable("id") Long id) {// 删除用户的逻辑}}@RestController@RequestMapping("/users")public class UserController {@PutMapping("/{id}")public User updateUser(@PathVariable("id") Long id, @RequestBody User user) {// 更新用户信息的逻辑}}@RequestParam解释:
  • @RequestParam注解用于获取请求参数的值,并将其绑定到处理器方法的形参上 。一般用于路径中?传参形式 。
@RestController@RequestMapping("/users")public class UserController {@GetMappingpublic List<User> getUsersByPage(@RequestParam("page") int page,@RequestParam(value = https://www.isolves.com/it/cxkf/kj/2023-08-04/"size", defaultValue = "10") int size) {// 分页查询用户列表的逻辑}}@PathVariable解释:
  • 用于获取URL路径中的变量值,并将其绑定到处理器方法的形参上 。一般用于/传参的形式 。
@RestController@RequestMapping("/users")public class UserController {@GetMapping("/{id}")public User getUserById(@PathVariable("id") Long id) {// 根据id获取用户的逻辑}}@RequestBody解释:
  • 用于接收HTTP请求的请求体内容,并将其转化为对应的JAVA对象或其他类型的参数 。
@RestController@RequestMapping("/users")public class UserController {@PostMappingpublic User createUser(@RequestBody User user) {// 创建用户的逻辑}}


推荐阅读