【SpringBoot】SpringBoot常用注解
一、前言
首先这里说的SpringBoot常用注解是指在我们开发项目过程中,我们经常使用的注解,包含Spring、SpringBoot、SpringCloud、SpringMVC等这些框架中的注解,而不仅仅是SpringBoot中的注解。
这里只是作一个注解列举,每个注解具体如何使用可以自行搜索查询哈。
二、配置启动相关注解
2.1 @SpringBootApplication
等价于@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解之和。
2.2 @Configuration
SpringBoot 提供基于Java的配置,相当于之前写的 xml中配置的Bean。
2.3 @EnableAutoConfiguration
类级别的注解,开启自动配置,这个注解告诉SpringBoot 根据添加的Jar 依赖猜测你想如何配置Spring。
2.4 @ComponentScan
标注哪些路径下的类需要被Spring扫描。
2.5 @Conditional
这个是一个综合的注解,包含了很多子注解。
@ConditionalOnBean:标注配置了某个特定的Bean
@ConditionalOnMissingBean:标注没有配置特定的Bean
@ConditionalOnClass:标注Classpath里有指定的类
@ConditionalOnMissingClass:标注Classpath里没有指定的类
@ConditionalOnExpression:标注给定的SpELl表达式计算结果为true
@ConditionalOnJava:标注Java的版本匹配特定值或者一个范围值
@ConditionalOnJndi:标注参数中给定的JNDI位置必须存在一个,如果没有给参数,则要有JNDI InitialContext
@ConditionalOnOnProperty:标注指定的配置属性要有一个明确的值
@ConditionalOnResource:标注Classpath里没有指定的资源
@ConditionalOnWebApplication:标注这是一个Web应用程序
@ConditionalOnNotWebApplication:标注这不是一个Web应用程序
三、Bean处理相关注解
3.1 依赖注入
@Autowired(属于Spring中的注解)
用法:用在属性和方法上。含义:byType方式完成自动装配,把配置好的Bean拿来用,完成属性、方法的组装。当加上(required=false)时就算找不到bean也不会报错。
@Resource(属于J2EE的注解)
用法:用在属性上。含义:byName方式完成自动装配,把配置好的Bean拿来用,完成属性的组装。有两个重要属性,分别是name和type。
3.2 标注类被Spring容器管理
@Component
泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。一般公共方法即可用上这个注解。
@Respository
用于数据持久层,经常标记到DAO类上。
@Service
用于服务层,经常标注到Service类上,学需要注解DAO层。
@Controller
用于控制层,MVC的控制层Bean,常注入Service层。
@RestController
与@Controller注解相似,标注这是一个控制层。标注这个注解的类的控制器中会将所有处理器方法的返回值都要直接写入响应体中,而不是将值放到模型中并传递给一个视图以便于渲染。
替代写法:@RestController等同于@Controller+@Response。
@Configuration
一般用来声明配置类。
@Scope
声明Spring Bean的作用域:singleton、prototype、request、session。
四、HTTP请示相关注解
四种常见的HTTP请求类型如下:
4.1 @GetMapping
GET请求,从服务器获取指定的资源。
4.2 @PostMapping
POST请求,在服务器上创建一个新的资源。
4.3 @PutMapping
PUT请求,更新服务器上的资源。
4.4 @DeleteMapping
DELETE请求,从服务器上删除指定的资源。
这里先列出以上四个,其他的可以自行搜索哦。
五、前后端参数传递相关注解
5.1 @RequestParam
用在方法的参数前面,获取请求中表单类型的key=value格式的数据。
5.2 @PathVariable
路径变量,参数与大括号里的名字要一样。
5.3 @RequestBody
获取请求body中的数据,常用于搭配@PostMapping请求来提交的对象数据。
5.4 @ResponseBody
表示该方法的返回结果直接写入到了HTTP response body中了,格式为 json。
六、读取配置相关注解
6.1 @Value
直接读取各种配置源的属性值。
6.2 @ConfigurationProperties
读取配置信息并与bean绑定。
6.3 @PropertySource
指定加载自定义的配置文件。
七、参数校验相关注解
7.1 Bean字段验证注解
@NotEmpty
@NotBlank
@Null
@NotNull
@AssertTrue
@AssertFalse
@Pattern(regex=,flag=)
@Min(value)
@Max(value)
@Size
@DecimalMin
@DecimalMax
@Past
@Future
@Digits
7.2 @Valid
用于标注验证对象的级联属性。
7.3 Validated
Spring提供的注解,于SpringMVC一起使用,标注方法的参数需要检查。
八、统一异常处理相关注解
8.1 @ControllerAdvice
注解定义全局异常处理类,包含@Component,所以可以被Spring扫描到。
8.2 @ExceptionHandler
注解声明异常处理方法,表示遇到这个异常,就执行标注的方法。
九、JPA数据持久化相关注解
9.1 @Transactional
可以标注在类上,也可以标注在方法上。
标注在类上:表示所有该类的public方法都配置相同的事务属性信息。
标注在方法上:表示该方法配置了事务属性信息。当类和方法上同时标注上@Transactional注解,方法的事务会覆盖类的事务配置信息。
9.2 @Entity
声明数据库实体类。
9.3 @Table
声明表名。
9.4 @Id
声明该字段为主键。
9.5 @GeneratedValue
声明主键的生成策略。
9.6 @Column
声明字段,经常用于属性名和表字段的映射。
9.7 @Transient
指定不需要持久化的字段。
9.8 @Lob
声明该字段为大字段。
9.9 @Enumerated
声明该字段是枚举类型的字段。
9.10 @Modifying
加在DAO方法上,表明是修改操作。
十、JSON格式化处理相关注解
10.1 @JsonFormat
用来格式化json数据。
10.2 @JsonIgnoreProperties
作用在类上用于过滤掉特定字段不返回或者不解析。
10.3 @JsonIgnore
一般用于属性上,作用和上面的@JsonIgnoreProperties一样。
10.4 @JsonUnwrapped
声明该字段是扁平化对象。
十一、测试处理相关注解
11.1 @Test
声明一个方法为测试方法。
11.2 @Transactional
声明测试的方法数据会回滚,避免污染数据。
11.3 @ActiveProfiles
常作用于测试类上,用于声明生效的Spring配置文件
11.4 @WithMockUser
SpringSecurity提供的,用来模拟一个真实用户,并且可以赋予权限。
完结!
【SpringBoot】SpringBoot常用注解相关推荐
- SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍
SpringBoot 中常用注解@PathVaribale/@RequestParam/@GetMapping介绍 本篇博文将介绍几种如何处理url中的参数的注解@PathVaribale/@Requ ...
- SpringBoot+Swagger2常用注解
场景 SpringBoot+Swagger2实现可视化API文档流程: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/936166 ...
- Spring-boot框架常用注解
springboot的核心就是注解.springboot通过各种组合注解,极大地简化了spring项目的搭建和开发.采用纯java代码,不在需要配置繁杂的xml文件.类型安全对重构可以提供良好的支持. ...
- spring springboot springcloud常用注解
@SpringBootApplication 组合注解,用在启动类上,源码: @Retention(RetentionPolicy.RUNTIME) @SpringBootConfiguration ...
- 帮你梳理springboot所有常用注解
文章目录 1.springmvc注解 1. @RestController.@ResponseBody.@Controller 2. @RequestMapping.@GetMapping.@Post ...
- 【SpringBoot 2】(四)详析SpringBoot的常用注解
- java常用注解及功能_SpringBoot 中常用注解及各种注解作用
本篇文章将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注 ...
- Spring常用注解,注解 IOC ,AOP,MVC 的理解
文章目录 大佬总结 0.Spring常用注解 0.1.SpringBootController里面的用法 0.1.1.SpringBoot 中常用注解@Controller/@RestControll ...
- 常用注解[spring 的 java 配置] ||springboot 热部署
常用注解[spring 的 java 配置] 回顾学过的 spring 的注解 @Controller @RestController @Service @Repository @Component ...
- springboot中得注解_Spring以及SpringBoot中的常用的注解小结
一.注解的基本概念 Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法.Annotion(注解)是一个接口,程序可以通过反射来获 ...
最新文章
- 转从Qt4 到Qt5的变化
- EIGRP的AD(管理距离)、AD(宣告距离)、FD(可行距离)
- LR与SVM的相同点和不同点
- python中的数学模块
- qq互动视频页面加载失败_互动案例技术分析(2)
- 西部数码linux云服务器,linux云服务器选择哪个版本
- 微信公众号发送小程序卡片_微信公众号里怎么添加小程序-如何在微信[[公众号]]添加小程序卡片-微信关联小程序...
- linux fopen文件失败,fopen自动创建文件失败(文件路径检查创建)
- 乐高ev3搭建图_乐高编程培训是什么都教啥?2020可编程机器人积木编程推荐,...
- 【数据库系统工程师】数据库系统工程师考情分析
- cad中计算机的快捷键,CAD常用快捷键汇总
- Echar柱状堆叠图X轴自定义显示功能
- php生成财务科目编码,会计科目代码(2019会计科目代码对照表)
- 小米android6.01 root,小米 小米6(安卓8.0)获取Root权限服务含精简系统方案
- 什么是营销SaaS?
- 点、线、三角形(C++)
- 人工智能正在改变市场营销的行为方式
- 希尔顿集团大中华区第450家酒店开业;Gap在山东青岛开新店 | 美通企业日报
- 年轻代、年老代和持久代
- android app 清理缓存图片,支付宝APP怎么清理缓存 支付宝安卓版缓存清理方法