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日

相关文章

  • 一篇超详细的Spring Boot整合Mybatis文章

    Spring Boot整合MyBatis完整攻略 Spring Boot是一个快速开发框架,可以帮助开发人员快速构建Web应用程序。在Spring Boot中,整合MyBatis可以帮助我们更方便地操作数据库。本文将介绍如何在Spring Boot中整合MyBatis,并提供两个示例。 整合MyBatis 在Spring Boot中整合MyBatis需要以下…

    Java 2023年5月15日
    00
  • 一文搞懂Java JDBC中的SQL注入问题

    一文搞懂Java JDBC中的SQL注入问题 什么是SQL注入? SQL注入是指攻击者利用客户端向服务器传递的SQL语句中的漏洞,注入恶意的查询语句或其他可执行的操作,从而获得非法的访问或者篡改数据的行为。SQL注入攻击是应用程序中最常见的攻击之一。 为什么要防止SQL注入? SQL注入攻击会使应用程序不按照设计来执行SQL语句,因而破坏了应用程序的安全性。…

    Java 2023年6月16日
    00
  • java使用RandomAccessFile类基于指针读写文件实例代码

    下面是完整的“java使用RandomAccessFile类基于指针读写文件实例代码”的攻略: 1. RandomAccessFile类 RandomAccessFile类可以让我们在文件中进行读写操作,它支持在文件任意位置进行数据读写,因此它非常适用于对文件进行随机访问(Random Access)操作。RandomAccessFile类有两个构造方法: …

    Java 2023年6月1日
    00
  • 利用5分钟快速搭建一个springboot项目的全过程

    下面是详细的攻略过程,包括两个示例。 前置条件 在开始搭建 Spring Boot 项目之前,需要确保以下环境已经安装和配置好: Java JDK 8+,可使用 java -version 命令检查 Java 安装情况。 Maven 3.0+,可使用 mvn -v 命令检查 Maven 安装情况。 IntelliJ IDEA(或其他任意一款 IDE) 步骤一…

    Java 2023年5月15日
    00
  • SpringBoot项目找不到javax.servlet.Filter的问题及解决

    当我们开发SpringBoot Web项目时可能会遇到一个常见的问题:找不到javax.servlet.Filter。这个问题通常出现在SpringBoot 2.x版本中,而在SpringBoot 1.x版本中则不需要特别定义依赖即可正常使用。本文将为大家分享如何解决这个问题。 问题分析: 在SpringBoot 2.x版本中需要手动添加servlet-ap…

    Java 2023年5月19日
    00
  • SpringBoot服务开启后通过端口访问无反应的解决

    当使用SpringBoot开发Web服务时,有可能会出现服务开启后通过端口访问无反应的情况。这种情况通常是由于SpringBoot应用程序对于端口没有正确绑定造成的。以下是详细讲解如何解决这种情况的完整攻略: 1. 确认端口是否被占用 首先,需要检查所使用的端口是否被其他进程占用。可以使用以下命令检查端口占用情况: netstat -ano | findst…

    Java 2023年6月16日
    00
  • Java面试题冲刺第二十六天–实战编程2

    《Java面试题冲刺第二十六天–实战编程2》是一篇介绍Java编程实战题的文章,主要内容包括实现一个电商系统购物车功能,实现一个基于LinkedList实现的栈。 实现一个电商系统购物车功能 这道题目要求我们实现一个电商网站的购物车功能,具体要求如下: 添加商品到购物车 从购物车中删除商品 修改购物车中商品的数量 清空购物车 查看购物车中的商品列表 为了实…

    Java 2023年5月19日
    00
  • Java synchronized底层实现原理以及锁优化

    Java中的synchronized关键字用于保证同步访问,避免出现多线程并发访问共享资源的问题,保证程序的正确性和一致性。在JVM中,synchronized的实现原理是通过Java对象头中的一个有关锁的标识位来实现的,具体的底层实现原理如下: Java对象头 Java对象在堆中的数据结构是由对象头和实例数据两部分组成的,其中对象头占用了8个或者12个字节…

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