SpringBoot常用注解详细整理

SpringBoot常用注解详细整理

什么是SpringBoot注解

Spring Boot提供了许多注解来简化Spring应用程序的开发和配置。在Spring中,注解使得我们能够重用代码、简化配置和提供了一致性数据。Spring Boot重度依赖注解,是设计成可以快速使用注解来进行Spring应用程序的开发和配置,从而节省了开发人员的时间和精力。

常用注解

@Controller

用于标识一个类是Spring控制器(Spring Controller)。控制器用于处理Web请求并返回响应结果。

示例:

@Controller
@RequestMapping("/example")
public class ExampleController {
    @GetMapping("/hello")
    @ResponseBody
    public String sayHello() {
        return "Hello World!";
    }
}

上述代码示意了如何使用@Controller注解,用于标识ExampleController类是一个控制器,其中@GetMapping注解表示可通过 HTTP GET 请求访问/hello路径。最后的@ResponseBody注解表示控制器的返回值不是 HTML 视图,而是文本,返回内容为 "Hello World!"。

@Service

@Service注解用于标识一个类是Spring的服务层Bean。通常与DAO层结合使用, 用于实现对数据库的操作。

示例:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;
    //...
}

在示例中使用@Service注解,表示UserServiceImpl是一个服务层Bean,其中@Autowired注解表示自动装配,将UserDao注入UserService。

@Repository

@Repository注解用于标识使用 Spring Data 访问数据对象(Spring Data access)的类。

示例:

@Repository
public class UserDaoImpl implements UserDao {
    @Override
    public void add(User user) {
        //...
    }
}

在上述示例中,@Repository用于标识UserDaoImpl是一个使用Spring Data访问数据对象,其中的add()方法用于向数据库中添加用户。

@Autowired

@Autowired 用于自动装配 Spring 应用程序中的bean。它可以应用到构造函数、属性、参数和方法上。

示例:

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;
    //...
}

在这个示例中,@Autowired注解标识userDao 使用自动装配,表示将UserDao实例自动注入到UserServiceImpl中。

@RequestMapping

@RequestMapping用于将HTTP请求映射到它们的处理程序。它可以将控制器类或处理程序方法标记为可供请求映射,并定义映射到哪个URL和HTTP方法。

示例:

@Controller
@RequestMapping("/example")
public class ExampleController {
    @GetMapping("/hello")
    @ResponseBody
    public String sayHello() {
        return "Hello World!";
    }
}

上述示例中,@RequestMapping注解用于将ExampleController类映射到/example上,同时表示它的作用是控制器。 @GetMapping("/hello") 注解表示将/hello路径映射到sayHello() 方法上

@RequestBody

@ RequestBody注解用于从HTTP请求正文中读取对象。Spring将请求的正文反序列化为指定的Java类型,并使用ObjectMapper转换Json字符串。

示例:

@PostMapping("/users")
public ResponseEntity add(@RequestBody User user) {
    userService.add(user);
    return ResponseEntity.status(HttpStatus.CREATED).build();
}

上述示例,@RequestBody标识参数为一个User对象,用于读取HTTP请求正文并将其转换为User对象。

总结

以上是SpringBoot中常用注解整理,除了上述基础注解外,SpringBoot中还有其他注解,如@ModelAttribute、@ResponseBody等。在Spring Boot应用程序的开发中,就需要熟悉常用注解,并合理使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot常用注解详细整理 - Python技术站

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

相关文章

  • Java实战权限管理系统的实现流程

    下面就详细讲解一下Java实战权限管理系统的实现流程。 目录 前言 权限管理系统实现流程 用户管理 角色管理 权限管理 权限控制 示例说明 总结 前言 权限管理系统是企业级应用系统的一个重要组成部分。Java实战中采用的权限管理系统采用了RBAC(Role-Based Access Control)模型,基于角色的访问控制。 权限管理系统实现流程 下面就是J…

    Java 2023年5月24日
    00
  • Java构造函数通透理解篇

    Java构造函数通透理解篇 什么是构造函数 构造函数是一种特殊的函数,用于在创建对象时进行初始化操作。在Java语言中,构造函数名称必须与类名称完全一致,且没有返回值类型,因为构造函数的返回值类型就是类本身。 构造函数的作用 构造函数的主要作用是用于在创建对象时进行初始化操作,它会被自动调用,并设置类的初始状态。在构造函数中,可以进行对对象的属性进行初始化,…

    Java 2023年5月26日
    00
  • 常见的JVM参数有哪些?

    当我们运行Java程序时,JVM参数可以通过命令行传入,用于控制程序的行为和性能。下面介绍一些常用的JVM参数及其用法。 JVM参数列表 以下为常见的JVM参数列表: -Xmx: 设置Java堆内存的最大值 -Xms: 设置Java堆内存的初始值 -Xss: 设置线程栈的大小 -XX:PermSize: 设置永久代的初始值 -XX:MaxPermSize: …

    Java 2023年5月10日
    00
  • java编写全年考勤日历

    下面我将详细介绍如何用Java编写全年考勤日历的完整攻略。 1. 设计思路 基本思路是从一年的第一天开始,每一天都计算它是星期几,再根据周末、节假日等情况进行判断,最终输出考勤日历。这个思路分为以下几个步骤: 获取当前年份,以及这一年有多少天(平年365天,闰年366天) 从1月1日开始遍历每一天,计算当天是星期几 判断当天是否是周末,如果是周末则标记为“休…

    Java 2023年6月1日
    00
  • 5分钟快速了解String.trim()到底做了什么事

    当我们使用Java字符串时,我们可以使用trim()方法来去除字符串的首尾空格。 一、什么是String.trim()方法? String.trim()方法属于Java String类的一个方法,用于去除字符串的首尾空格。该方法返回一个新的字符串,而不是修改原始字符串。 二、String.trim()方法的使用 在Java编程中,我们可以使用String.t…

    Java 2023年5月20日
    00
  • mybatis升级mybatis-plus时踩到的一些坑

    请看下面的攻略: mybatis升级mybatis-plus时踩到的一些坑 为什么需要升级mybatis-plus? mybatis是一个非常优秀的ORM框架,但是在实际使用中也存在一些问题。例如,mybatis没法很好地处理复杂的SQL逻辑,对于一些常用功能也需要自己手写SQL语句来实现。而mybatis-plus则是在mybatis的基础上进行了一些封装…

    Java 2023年5月20日
    00
  • java根据开始时间结束时间计算中间间隔日期的实例代码

    以下是Java根据开始时间结束时间计算中间时间间隔的实例代码完整攻略。 标题 Java根据开始时间结束时间计算中间时间间隔的实例代码 描述 在Java中,我们经常需要在两个日期之间计算天数、小时数或分钟数。此时需要使用Java提供的时间类库。Java日期类库中的Date和Calendar类提供了很多用于处理日期和时间的方法。下面我们将演示如何使用Java代码…

    Java 2023年6月1日
    00
  • 如何进行Java程序优化?

    如何进行Java程序优化? 优化 Java 程序的过程是一个不断探索与提升的过程,下面将分享一些常见的优化方式。 1. 使用 StringBuilder 替换 String 在 Java 中,有很多地方需要用到 String,例如拼接长字符串时,我们可能会像这样写: String str = "Hello"; for (int i = 0…

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