spring boot的一些常用注解:

使用@SpringBootApplication注释:

许多Spring Boot开发人员喜欢他们的应用程序使用自动配置,组件扫描,并能够在其“应用程序类”上定义额外的配置。

单个@SpringBootApplication注释可用于启用这三个功能,即:

@EnableAutoConfiguration:启用Spring Boot的自动配置机制

@ComponentScan:启用@Component对应用程序所在的软件包的扫描

@Configuration:允许在上下文中注册额外的bean或导入其他配置类

@Repository:用于标注数据访问的组件,即DAO组件

@Service:用于标注业务层的组件

@Controller:用于标注控制层组件(用在controller)

@ResponseBody:表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用,

@RequestMapping:在使用后,返回值通常解析为跳转路径,

@ResponseBody:加上后返回结果不会被解析为跳转路径,

        而是直接写入HTTP response body中。

        比如异步获取json数据,加上@responsebody后,会直接返回json数据。

@RestController:就是@Controller和@ResponseBody的合体

@Component:泛指组件扫描

@ComponentScan:相当于spring中的context:component-scan,如果扫描到有@Component ,@Controller ,@Service等这些注解的类,则把这些类注册为bean

@Configuration:指出该类是 Bean 配置的信息源,相当于XML中的,一般加在主类上。

@Bean:相当于XML中的,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理。

@EnableAutoConfiguration:让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置,一般加在主类上。

@AutoWired:byType方式。

      把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。

      当加上(required=false)时,就算找不到bean也不报错。

@Qualifier:当有多个同一类型的Bean时,可以用@Qualifier(“name”)来指定。与@Autowired配合使用

@Resource(name=“name”,type=“type”):没有括号内内容的话,默认byName。与@Autowired干类似的事。

@RequestMapping:@RequestMapping(“/path”)表示该控制器处理所有“/path”的UR L请求。
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。该注解有六个属性:

@RequestParam:用在方法的参数前面。

@PathVariable:路径变量

该注解有六个属性:
params:指定request中必须包含某些参数值是,才让该方法处理。
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
value:指定请求的实际地址,指定的地址可以是URI Template 模式
method:指定请求的method类型, GET、POST、PUT、DELETE等
consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html;
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回

@Value:注入Spring boot application.properties配置的属性的值。

@RequestParam:用在方法的参数前面,@RequestParam String a =request.getParameter(“a”)

@Bean: 相当于xml里的<bean>标签在spring中,加了@configuration注解后,需要加扫包的配置 <context:component-scan...而在springBoot中,只需要启动类放在 加@configuration的注解类的外层即可

@mapperScan :指定要扫描的mapper类的路径

@EnableTranctionManagement :事务注解,表示支持事务。使用时候在service上加上Tracntional注解即可

@Intercepts:   mybatis默认分页拦截器

@ControllerAdvice  :声明 全局的异常拦截器(所有带@RequestMapping注解的控制器都会被拦截),只要在控制器中抛出异常,这里都会拦截到,并且处理(记录日志,或者向前端返回异常信息)

@ExceptionHandler :声明特定的异常拦截

@Entity:@Table(name=”“):表明这是一个实体类。一般用于jpa这两个注解一般一块使用。

@MappedSuperClass:用在确定是父类的entity上。父类的属性子类可以继承。

@NoRepositoryBean:一般用作父类的repository。

@Column:如果字段名与列名相同,则可以省略。

@Id:表示该属性为主键。

@GeneratedValue:指定sequence的名字是repair_seq。

@Transient:表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性。

@JsonIgnore:作用是json序列化时将Java bean中的一些属性忽略掉,序列化和反序列化都受影响。

@JoinColumn:(name=”loginId”):一对一:本表中指向另一个表的外键。
一对多:另一个表指向本表的外键。

@OneToOne、@OneToMany、@ManyToOne:对应hibernate配置文件中的一对一,一对多,多对一

@ControllerAdvice:包含@Component。可以被扫描到。统一处理异常。

@ExceptionHandler:(Exception.class):用在方法上面表示遇到这个异常就执行以下方法。

spring boot的一些常用注解的更多相关文章

  1. Spring Boot的27个注解【核心】

    导读[约定大于配置] Spring Boot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用程序,还能轻松地通过一些注解配置与目前比较火热的微服务 ...

  2. Spring Boot整合MyBatis(非注解版)

    Spring Boot整合MyBatis(非注解版),开发时采用的时IDEA,JDK1.8 直接上图: 文件夹不存在,创建一个新的路径文件夹 创建完成目录结构如下: 本人第一步习惯先把需要的包结构创建 ...

  3. Spring Boot 实战 —— MyBatis(注解版)使用方法

    原文链接: Spring Boot 实战 -- MyBatis(注解版)使用方法 简介 MyBatis 官网 是这么介绍它自己的: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过 ...

  4. Solon Web 开发,十四、与Spring、Jsr330的常用注解对比

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  5. Spring Boot中使用MyBatis注解配置详解(1)

    之前在Spring Boot中整合MyBatis时,采用了注解的配置方式,相信很多人还是比较喜欢这种优雅的方式的,也收到不少读者朋友的反馈和问题,主要集中于针对各种场景下注解如何使用,下面就对几种常见 ...

  6. Spring Boot 项目中常见注解

    @Autowired 自动导入依赖的 Bean.byType方式.把配置好的 Bean拿来用,完成属性.方法的组装,它可以对类成员变量.方法及构造函数进行标注,完成自动装配的工作 import org ...

  7. spring boot 如何将没有注解的类@Autowired

    等于将类交给spring管理,也就是IOC. 注解@Autowired是自动装配,也就是spring帮你创建对象,当然前提是这个@Autowired的类已经配置成Bean了,spring配置bean文 ...

  8. Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 公司需要人.产品.业务和方向,方向又要人.产品.业务和方向,方向… 循环』 本文提纲一. ...

  9. 如何优雅地在 Spring Boot 中使用自定义注解,AOP 切面统一打印出入参日志 | 修订版

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 资深架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...

随机推荐

  1. 【5min+】 这些C#的运算符您都认识吗?

    系列介绍 [五分钟的dotnet]是一个利用您的碎片化时间来学习和丰富.net知识的博文系列.它所包含了.net体系中可能会涉及到的方方面面,比如C#的小细节,AspnetCore,微服务中的.net ...

  2. 【限时免费】近1000G JAVA学习视频下载

    2020的情人节是个极特殊的情人节,面对肆虐的疫情,我们无法出门,宅在家里,也无法阻止你作为一名优秀程序员的梦想. 或许没有鲜花.没有蛋糕…… 姜小白就为大家备好了一份大礼,将自己近几年整理收藏的全网 ...

  3. GitHub注册与Git安装

    注册GitHub GitHub官网 ☞☞☞☞[戳我] 一.打开,如下图所示, 按照要求进行注册. 安装Git Git官网下载☞☞☞☞ [戳我] 一.打开,根据自己的电脑系统选择不同的版本,这里主要是以 ...

  4. ARTS Week 15

    Feb 3, 2020 ~ Feb 9, 2020 Algorithm Problem 172.Factorial Trailing Zeroes(阶乘末尾的0) 题目链接 题目描述:给定一个整数n, ...

  5. A Hybrid Data Association Framework for Robust Online Multi-Object Tracking(2017 IEEE Transactions on Image Processing)

    A Hybrid Data Association Framework for Robust Online Multi-Object Tracking 一种用于鲁棒在线多目标跟踪的混合数据关联框架 摘 ...

  6. EOJ Monthly 2019.2 E 中位数 (二分+中位数+dag上dp)

    题意: 一张由 n 个点,m 条边构成的有向无环图.每个点有点权 Ai.QQ 小方想知道所有起点为 1 ,终点为 n 的路径中最大的中位数是多少. 一条路径的中位数指的是:一条路径有 n 个点,将这  ...

  7. kendo-ui 几个有用的数据操作

    在工作中发现几个有用的api: 一,grid1.获得grid var grid = $("#proList").data("kendoGrid");2.获得da ...

  8. 渡一教育公开课重点笔记之css

    主流浏览器及内核 浏览器         内核 IE             trident Firefox    Gecko Google chrome    Webkit/blink(2014年上 ...

  9. vue学习(三)完善模板页(bootstrap+AdminLTE)

    1.配置index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  10. [RHEL8]开启BBR

    # sysctl net.ipv4.tcp_congestion_control net.ipv4.tcp_congestion_control = cubic # sysctl net.ipv4.t ...