SpringBoot 中常用注解及各种注解作用

来详细讲解一下SpringBoot中常用注解及各种注解作用的攻略。

1. @SpringBootApplication

这是一个复合注解,包含了@Configuration@EnableAutoConfiguration@ComponentScan三个注解。

  • @Configuration:表示这是一个配置类,可以用来替代xml配置文件。
  • @EnableAutoConfiguration:表示开启SpringBoot的自动配置功能。
  • @ComponentScan:表示扫描指定包及其子包下的所有类,并加入Spring容器中。

示例代码:

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

2. @RestController

这个注解用于标识一个Controller处理RESTful请求。

示例代码:

@RestController
public class UserController {
    @GetMapping("/users")
    public List<User> getUsers() {
        return userService.getUsers();
    }
}

3. @GetMapping

这个注解用于处理HTTP GET请求。

示例代码:

@RestController
public class UserController {
    @GetMapping("/users")
    public List<User> getUsers() {
        return userService.getUsers();
    }
}

4. @PostMapping

这个注解用于处理HTTP POST请求。

示例代码:

@RestController
public class UserController {
    @PostMapping("/users")
    public User addUser(@RequestBody User user) {
        return userService.addUser(user);
    }
}

5. @PutMapping

这个注解用于处理HTTP PUT请求。

示例代码:

@RestController
public class UserController {
    @PutMapping("/users/{id}")
    public User updateUser(@PathVariable("id") Long id, @RequestBody User user) {
        return userService.updateUser(id, user);
    }
}

6. @DeleteMapping

这个注解用于处理HTTP DELETE请求。

示例代码:

@RestController
public class UserController {
    @DeleteMapping("/users/{id}")
    public void deleteUser(@PathVariable("id") Long id) {
        userService.deleteUser(id);
    }
}

7. @PathVariable

用于获取请求URL中的参数值。

示例代码:

@RestController
public class UserController {
    @GetMapping("/users/{id}")
    public User getUserById(@PathVariable("id") Long id) {
        return userService.getUserById(id);
    }
}

8. @RequestParam

用于获取请求参数的值。

示例代码:

@RestController
public class UserController {
    @GetMapping("/users")
    public List<User> getUsers(@RequestParam("gender") String gender) {
        return userService.getUsersByGender(gender);
    }
}

9. @RequestBody

用于将请求参数转换为对象。

示例代码:

@RestController
public class UserController {
    @PostMapping("/users")
    public User addUser(@RequestBody User user) {
        return userService.addUser(user);
    }
}

10. @ConfigurationProperties

用于将配置文件中的属性注入到Java对象中。

示例代码:

@ConfigurationProperties(prefix = "demo")
public class DemoProperties {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

以上就是SpringBoot中常用注解及各种注解作用的完整攻略了。希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot 中常用注解及各种注解作用 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • 详解Java中使用ImageIO类对图片进行压缩的方法

    下面我来详细讲解Java中使用ImageIO类对图片进行压缩的方法。 1. 使用ImageIO类加载图片 在Java中使用ImageIO类来加载图片,可以使用以下代码: BufferedImage image = ImageIO.read(new File("image.jpg")); 上述代码中的image.jpg是需要压缩的图片的文件…

    Java 2023年5月26日
    00
  • 详解Spring MVC事务配置

    详解Spring MVC事务配置 在Spring MVC中,事务是一种常用的机制,它可以保证数据库操作的一致性和完整性。本文将详细介绍Spring MVC事务配置的完整攻略,包括事务的基本概念、事务的配置方式、事务的传播行为、事务的隔离级别等内容,并提供两个示例说明。 事务的基本概念 事务是指一组数据库操作,这些操作要么全部执行成功,要么全部执行失败。在Sp…

    Java 2023年5月17日
    00
  • 一文详解Java中枚举类的使用

    一文详解Java中枚举类的使用 什么是枚举类? 枚举类是一种特殊的类,它用于表示一组常量。我们通常用它们来代表一个有限的取值范围。在Java中,枚举类是用enum关键字定义的。 枚举类的定义 定义一个枚举类非常简单,只需要使用enum关键字定义即可。例如,定义一个表示星期的枚举类: public enum Weekday { MONDAY, TUESDAY,…

    Java 2023年5月26日
    00
  • Java字符串原理分析之String是否可变

    下面是Java字符串原理分析之String是否可变的完整攻略。 什么是可变字符串? 可变字符串是指在字符串被创建出来后,能够改变其值和长度的字符串。在Java中,String类是不可变的字符串,即String一旦被创建出来,就不能再改变它的值(但是可以创建新的字符串)。相对应的,StringBuilder和StringBuffer是可变字符串,在其上进行的所…

    Java 2023年5月26日
    00
  • 浅析12306售票算法(java版)

    浅析12306售票算法(Java版) 前言 12306售票算法是12306官方网站采用的一种购票算法,它采用的是先进先出的算法思想,即先处理最先提交的订单。在高并发情况下,这种算法能够确保订单售出的公平性,防止订单重复抢占,提高12306网站的稳定性。 算法流程 用户提交订单,服务器接收到请求后,将订单信息放入到队列中。 售票服务不断地从队列中取出订单。 售…

    Java 2023年5月20日
    00
  • JAVA不可变类(immutable)机制与String的不可变性(推荐)

    JAVA不可变类机制与String的不可变性 什么是不可变类 不可变类是指一旦创建了对象之后,这个对象的状态不能再改变,所有的属性都是不可变的,比如String类就是一个典型的不可变类型。在Java中,不可变类通常具有以下特征: 所有的属性被申明为final,因此它们的值在对象的生命周期内不能改变。 对象本身被申明为final,确保了它的引用不能改变。 类中…

    Java 2023年5月26日
    00
  • 一篇文章读懂Java哈希与一致性哈希算法

    一篇文章读懂Java哈希与一致性哈希算法 1. 哈希算法基础 在计算机科学中,哈希算法是将任意长度的消息映射到固定长度的摘要 (或称哈希值) 的函数,也就是根据某种规则,将任意数据映射到指定大小范围的数值上,一般用于唯一性标识、数据校验等场景。 Java提供了多种哈希算法,比如MD5、SHA1、SHA256等,这些哈希算法的实现已经被封装在Java的类库中的…

    Java 2023年5月19日
    00
  • Java中的同步与异步详细介绍

    Java中的同步与异步详细介绍 1. 同步 同步指的是在代码中有一个任务或操作正在进行时,它阻塞了其他任务或操作的执行,直到该任务或操作完成。在Java中,使用synchronized关键字实现同步。 1.1 synchronized关键字 synchronized关键字可以用于方法或代码块中,保证在同一时间只有一个线程可以访问这些代码。例: public …

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部