核心注解

1. @SpringBootApplication

主要用于开启自动配置,它也是一个组合注解,主要组合了 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan

2. @EnableAutoConfiguration

该注解组合了 @Import 注解,@Import 注解导入了 EnableAutoCofigurationImportSelector 类,它使用 SpringFactoriesLoader.loaderFactoryNames 方法把 spring-boot-autoconfigure.jar/META-INF/spring.factories 中的每一个 xxxAutoConfiguration 文件都加载到 IOC 容器,实现自动配置

3. @SpringBootConfiguration

@SpringBootConfiguration 注解继承自 @Configuration,二者功能基本一致,标注当前类是配置类

4. @ComponentScan

自动扫描并加载符合条件的组件,如 @Component、@Controller、@Service、@Repository 等或者 bean 定义,最终将这些 Bean 加载到 IOC 容器

Bean 相关

1. @Controller

应用于控制层,DispatcherServlet 会自动扫描此注解的类,将 web 请求映射到注解 @RequestMapping 的方法上

2. @Service

应用于业务逻辑层

3. @Reponsitory

应用于数据访问层(dao)

4. @Component

表示带有该注解的类是一个组件,可被 SpringBoot 扫描并注入 IOC 容器

5. @Configuration

表示带有该注解的类是一个配置类,通常与 @Bean 结合使用,@Configuration 继承了 @Component,因此也能被 SpringBoot 扫描并处理

6. @Bean

@Configuration 注解标识的类,使用 @Bean 注解一个可返回 Bean 的方法,Spring 会将这个 Bean 对象放入 IOC 容器

依赖注入相关

1. @Autowired

可作用在属性、方法和构造器,实现 Bean 的自动注入,默认根据类型注入

2. @Resource

作用同 @Autowired,默认通过名称注入

3. @Qualifier

如果容器中有多个相同类型的 bean,仅仅靠 @Autowired 不足以让 Spring 知道到底要注入哪个 bean,使用 @Qualifier 并指定名称可以帮助确认注入哪个 bean

4. @Value

用于注入基本类型和 String 类型

WEB 相关

1. @RequestMapping

映射 web 请求,可以注解在类和方法上,@GetMapping 和 @PostMapping 是 @RequestMapping 的两种特例,一个处理 get 请求,一个处理 post 请求

2. @RequestParam

获取请求参数,示例如下:

// http://localhost:8080/api/test1?name=liu
@RequestMapping("/test1")
@ResponseBody
public String test1(@RequestParam("name")String name1){
System.out.println(name1);
return name1;
}

3. @PathVariable

获取路径参数,示例如下:

@RequestMapping(value = "user/{username}")
public String test(@PathVariable(value="username") String username) {
return "user"+username;
}

4. @RequestBody

通过 HttpMessageConverter 读取 Request Body 并反序列化为 Object,比如直接以 String 接收前端传过来的 json 数据

5. @ResponseBody

将返回值放在 response 体内,返回的是数据而不是页面,在异步请求返回 json 数据时使用

AOP 相关

1. @Aspect

声明一个切面

2. @PointCut

声明切点,即定义拦截规则,确定有哪些方法会被切入

3. @Before

前置通知,在原方法前执行

4. @After

后置通知,在原方法后执行

5. @Around

环绕通知,原方法执行前执行一次,原方法执行后再执行一次

其他注解

1. @Transactional

声明事务

2. @ControllerAdvice

作用在类上,继承了 @Component,因此也能被 SpringBoot 扫描并处理,提供对 Controller 类的拦截功能,配合 @ExceptionHandler、@InitBinder、@ModelAttribute 等注解可实现全局异常处理,全局参数绑定,请求参数预处理等功能

3. @Async

作用在方法,表示这是一个异步方法

4. @EnableAsync

注解在配置类,开启异步任务支持

5. @Scheduled

注解在方法,声明该方法是计划任务

6. @EnableScheduling

注解在配置类,开启对计划任务的支持

SpringBoot 常用注解总结的更多相关文章

  1. SpringBoot 常用注解(持续更新)

    SpringBoot 常用注解 @SpringBootApplication @Bean @ComponentScan @ControllerAdvice @ExceptionHandler @Res ...

  2. SpringBoot 入门篇(二) SpringBoot常用注解以及自动配置

    一.SpringBoot常用注解二.SpringBoot自动配置机制SpringBoot版本:1.5.13.RELEASE 对应官方文档链接:https://docs.spring.io/spring ...

  3. 接近8000字的Spring/SpringBoot常用注解总结!安排!

    0.前言 大家好,我是 Guide 哥!这是我的 221 篇优质原创文章.如需转载,请在文首注明地址,蟹蟹! 本文已经收录进我的 75K Star 的 Java 开源项目 JavaGuide:http ...

  4. Spring/SpringBoot常用注解总结

    转自:[Guide哥] 0.前言 可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我都说了具体用法,掌握搞懂,使 ...

  5. SpringBoot介绍,快速入门小例子,目录结构,不同的启动方式,SpringBoot常用注解

    SpringBoot介绍 引言 为了使用ssm框架去开发,准备ssm框架的模板配置 为了Spring整合第三方框架,单独的去编写xml文件 导致ssm项目后期xml文件特别多,维护xml文件的成本也是 ...

  6. 菜鸟的springboot常用注解总结

    菜鸟的springboot常用注解总结 0.前言 可以毫不夸张地说,这篇文章介绍的 Spring/SpringBoot 常用注解基本已经涵盖你工作中遇到的大部分常用的场景.对于每一个注解我都说了具体用 ...

  7. SpringBoot常用注解大全

    常用注解概览 这里整理了一张SpringBoot常用注解的思维导图,本文主要讲解这些注解的用法. 组件相关注解 @ComponentScan 默认扫描当前包及其子包下面被@component,@Con ...

  8. SpringBoot常用注解的介绍及使用 - 转载

    常用注解 @springBootApplication 系统启动类注解,此注解是个组合注解,包括了:@SpringBootConfiguration,@EnableAutoConfiguration, ...

  9. 结合参数接收响应转换原理讲解SpringBoot常用注解

    一.常用注解回顾 1.1 @RequestBody与@ResponseBody //注意并不要求@RequestBody与@ResponseBody成对使用. public @ResponseBody ...

  10. springboot系列五、springboot常用注解使用说明

    一.controller相关注解 1.@Controller 控制器,处理http请求. 2.@RespController Spring4之后新加的注解,原来返回json需要@ResponseBod ...

随机推荐

  1. NC50428 数星星 Stars

    题目链接 题目 题目描述 天空中有一些星星,这些星星都在不同的位置,每个星星有个坐标.如果一个星星的左下方(包含正左和正下)有k颗星星,就说这颗星星是k级的. 例如,上图中星星5是3级的(1,2,4在 ...

  2. Java设计模式-原型模式Prototype

    介绍 当我们有一个类的实例(Prototype)并且我们想通过复制原型来创建新对象时,通常使用Prototype模式. 原型模式是一种创建型设计模式.能够复制已有对象, 而又无需使代码依赖它们所属的类 ...

  3. Spring和Spring Boot的区别

    spring Spring 是一个开源轻量级框架,它允许 Java EE 7 开发人员构建简单.可靠和可扩展的企业应用程序.该框架主要侧重于提供各种方法来帮助您管理业务对象.与 Java 数据库连接 ...

  4. Error: testWhileIdle is true, validationQuery not set

    说明 使用springboot连接数据库,启动的时候报错:testWhileIdle is true, validationQuery not set.但是不影响系统使用,数据库等一切访问正常.记录备 ...

  5. Java并发编程实例--1.创建和运行一个线程

    从这一篇开始写Java并发编程实例,内容都翻译整理自书籍:<Java 7 Concurrency Cookbook> 谈到线程,无法逃避的一个问题就是: 并发(concurrency)和并 ...

  6. C++ 时间复杂度

    看到网上一些资料的案例不全,所以自己开个来复习. O(1)<O(log2n)<O(n)<O(nlog2n)<O(n^2)<O(n^3)<-<O(2^n)< ...

  7. 好用的OCR文本识别工具

    之所以会用到OCR工具,是因为在看一些扫描版的PDF文档时,有时候需要复制粘贴一些文字,特别是技术性文档,对于一些命令或者代码片段需要复制出来执行验证. 网络上有许多推荐OCR工具的文章,但是大多数都 ...

  8. 图书管理系统---基于form组件和modelform改造添加和编辑

    添加 基于form组件改造 步骤1 1.为了区分自己写的form类和视图逻辑,所以工作中需要区分开来,那么就可以在应用下创建一个叫utils的文件夹,专门存放我们写的form类,py文件名随便起 2. ...

  9. 【华为机试ACM基础#02】从单向链表中删除指定值的节点、输出单向链表中倒数第k个节点(熟悉链表的输入方式)

    从单向链表中删除指定值的节点 输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针. 链表的值不能重复. 构造过程,例如输入一行数据为: 6 2 1 2 ...

  10. Lua调试函数 debug.getinfo() namewhat详解

    Lua调试的时候会用到debug.getinfo()函数,what的值文档给了解释: "Lua" : Lua function "C" : C function ...