欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > SpringBoot注解大总结

SpringBoot注解大总结

2024/10/25 6:32:37 来源:https://blog.csdn.net/qq_65095414/article/details/141194266  浏览:    关键词:SpringBoot注解大总结

Controller层注解

@GetMapping("")

 接受get请求执行注解下的方法(get/delete 请求参数一般拼接到url后面)也可以使用请求体但要规范不能使用请求体

@RequestBody

1.从http中读请求体中的数据 ,底层是HttpServletRequest 获取

2.自动把JSON字符串映射成java中的对象

 @Post/pub

post/pub 请求参数一般放在请求体里面,且以JSON格式进行传输(post插入请求使用)

@RequestMapping("/depts")

 Target->类上/方法上

类上->提取controller中的一个重复的路径

方法上->定义该接口的请求方法,被对应Mapping,PostMapping替代了

@Controller

把一个普通类变成一个servlet 

@RestController

组合注解由@Controller和@ResponseBody组合而成

把一个普通的controller类标记为一个servlet 

@Get/DeleteMapping

 以kv键值对的方式接受请求,也可以用请求体但不建议使用

@ResponseBody

响应把java对象转换成JSON对象 

@RequestParam

1.根据指定的k,获取Http URL中的值 value/name属性

2.可以指定是否必传参数,如果指定必传,前端没传响应的参数->400 required

3.给参数指定默认值 defaultValue默认值属性

@PathVariable

 作用:获取URI路径以/分割的路径变量   列:/{id} 。通过kv值传参和通过/传参在一个项目中尽量只使用一个规范一点

@Validated

添加此注解启动spring-boot-starter-validation数据校验 ,添加在接受前端形参的括号中

DAO层注解

@JsonFormat()

@JsonFormat(pattern = "yyyy年MM月dd日 HH:mm:ss")作用:格式化时间,放在需要被格式化的实体类变量上

 @DateTimeFormat

把请求的字符串时间转换成指定的格式@DateTimeFormat(pattern="yyyy年MM月dd"),前端传空也没问题SpringBoot会判空

@JsonIgnore

加在属性上 springboot 对象转JSON的时候自动忽略掉该值

@JsonIgnoreProperties

加在类上,指定多个需要忽略掉转JSON的属性,值就填属性名就行 

@JsonInclude

根据条件决定是否转JSON(使用:属性是null就不转JSON)

@Param("")

给sql绑定值 

 @Repository

@Repository springboot 提供用来标记DAO层和@Mapper没有区别 (加在类上)

 @NotNull

判空注解spring-boot-starter-validation 加载实体类属性上

 @Length

 判断字符串长度 spring-boot-starter-validation min max设置范围

 @Pattern

设置正则表达式spring-boot-starter-validation regexp设置 

Service层注解

@Service

标记此类为service层注入bean

@Transactional

 自动开启事务,提交事务并且回滚事务,SpringBoot默认RuntimeException才会回滚解决方法就是扩大异常范围(可以加在方法或类上,尽量不要加在类上)

@Transactional(rollbackFor = Exception.class)

其他||共用注解

@SpringBootTest

专门用来初始化springboot环境,进行单元测试 ,在test目录进行单元测试

@Resource

属性注入优先使用@Resource
默认按照Bean名字从容器中获取
默认的springBean名字时类对应的小驼峰

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com