SpringBoot中重要注解详解

 更新时间:2026年01月27日 15:58:53   作者:二哈喇子!  
文章介绍了Spring Boot的自动配置机制和一些常用的注解,这些注解用于标识和配置Spring Boot应用中的控制器、路由、响应体等组件,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

Spring Boot注解是一种元数据形式,可提供有关程序的数据。换句话说,注解用于提供有关程序的 补充信息。它不是我们开发的应用程序的一部分。它对其注解的代码的操作没有直接影响。不会更改已编译程序的操作。

@SpringBootApplication

SpringBoot依靠@SpringBootApplication注解完成自动配置,该注解包含以下三个重要的注解,分别是:

  1. @SpringBootConfiguration 注解 它实际上就是一个 @Configuration 注解
  2. @ComponentScan 注解 用于定义 Spring 的扫描包路径
  3. @EnableAutoConfiguration注解 实现自动配置

Controller控制层中重要注解

注解:@Controller

Controller负责标识这个类是个Controller类,Spring检测到@Controller注解时,将其自动注册为Controller对象 ,是一种整体页面刷新提交的处理注解( 比如form提交 )。

package com.controller;
import org.springframework.stereotype.Controller;
...
@Controller
public class Hello {
...
}

@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。
在方法上加 @ResponseBody注解,也可以返回实体对象。

对应的还有一个 @RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。

注解:@RequestMapping(“/”)

注解告知Spring这个类或者函数映射到哪个URL

@RequestMapping(
        path = { "/test" }, // 访问路径
        params = { "name", "userId"}, //URL携带的参数
        method = { RequestMethod.GET},  //表示请求方式
        consumes = {"text/plain", "application/"},//指定处理请求的提交内容类型(Content-Type)
        produces = "text/plain",  //指定响应类型
        headers = "content-type=text/"//指定request中必须包含某些指定的header值才能让该方法处理请求)

注意 :
1、@RequestMapping不指定参数名时,默认为path参数
2、path参数可以是个变量,通过{}来标识
3、@PathVaiable用于读取URL中的数据

@RequestMapping(path="test/login/{name}/{id}", method=RequestMethod.GET)
public String login(@PathVariable("name") String strName, @PathVariable("id") Integer id)
{
	return strName +id.toString();
}

@RequestParam用于读取URL中的数据

@RequestMapping(path = "test/login" , method=RequestMethod.GET)
public String login(@RequestParam(value="name",required = false,defaultValue = "tom") 
String strName,@RequestParam(value="id",required = false,defaultValue = "123") Integer id){
			return strName + id.toString();
	}

注解:@ResponseBody

正常情况下,Controller类中函数返回是一个模板对象(页面)。但是有时候我们希望返回值数值型(字符串或者Json格式数据),这时就需要添加@ResponseBody注解。

@ResponseBody注解可以添加到类或者函数上 。

注解:@RestController、@GetMapping 和@PostMapping

这三个注解都是组合注解

@RestController = @Controller + @ResposeBody
@GetMapping相当于@RequestMapping(method=RequestMethod.GET) 表示前端向后端发出请求数据命令,后端根据具体请求(URL)找到对应的资源并返回给前端。

@PostMapping相当于@RequestMapping(method=RequestMethod.POST) 表示前端向后端发送数据,后端根据命令,将给数据持久化到数据库中,实现数据的更新。

到此这篇关于SpringBoot中重要注解详解的文章就介绍到这了,更多相关springboot注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java Switch对各类型支持实现原理

    Java Switch对各类型支持实现原理

    这篇文章主要介绍了Java Switch对各类型支持实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Java split函数拆分后变成null问题解决方案

    Java split函数拆分后变成null问题解决方案

    这篇文章主要介绍了Java split函数拆分后变成null问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • IDEA集成Sonar的完整流程

    IDEA集成Sonar的完整流程

    这篇文章主要介绍了IDEA集成Sonar的完整流程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Java生成与解析二维码的完整指南

    Java生成与解析二维码的完整指南

    二维码是一种能够将大量信息编码在小空间的编码器,它是一种由黑白方块构成的图片,可以将文本、链接、图像等不同类型的信息编码到其中,下面我们就来看看如何通过Java实现生成与解析二维码吧
    2026-05-05
  • 多个SpringBoot项目采用redis实现Session共享功能

    多个SpringBoot项目采用redis实现Session共享功能

    这篇文章主要介绍了多个SpringBoot项目采用redis实现Session共享,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • String类下compareTo()与compare()方法比较

    String类下compareTo()与compare()方法比较

    这篇文章主要介绍了String类下compareTo()与compare()方法比较的相关资料,需要的朋友可以参考下
    2017-05-05
  • java实现往hive 的map类型字段写数据

    java实现往hive 的map类型字段写数据

    这篇文章主要介绍了java实现往hive 的map类型字段写数据操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • springboot下添加日志模块和设置日志文件输出的方法

    springboot下添加日志模块和设置日志文件输出的方法

    日志的使用将通过SLF4J来使用,SLF4J是一个为Java应用提供简单日志记录的接口,在Spring框架中,SLF4J常常用于处理框架本身以及应用程序的日志记录,本文给大家介绍springboot下添加日志模块和设置日志文件输出的相关知识,感兴趣的朋友一起看看吧
    2023-12-12
  • SpringBoot集成Dubbo启用gRPC协议

    SpringBoot集成Dubbo启用gRPC协议

    这篇文章主要介绍了SpringBoot集成Dubbo启用gRPC协议,以及与原生 gRPC 在代码编写过程中的区别。感兴趣的同学可以参考阅读
    2023-04-04
  • Java中的CountDownLatch、CyclicBarrier和semaphore实现原理解读

    Java中的CountDownLatch、CyclicBarrier和semaphore实现原理解读

    这篇文章主要介绍了Java中的CountDownLatch、CyclicBarrier和semaphore实现原理详解,CountDownLatch中调用await方法线程需要等待所有调用countDown方法的线程执行,这就很适合一个业务需要一些准备条件,等准备条件准备好之后再继续执行,需要的朋友可以参考下
    2023-12-12

最新评论