ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

springboot gradle 使用过程中遇到的问题小结(4)

2019-07-21 10:44:07  阅读:201  来源: 互联网

标签:RequiredArgsConstructor springboot 构造方法 NoArgsConstructor gradle 使用 注解 小结 annota


1. TypeReference

使用fastJson反序列化的时候用到

为什么使用TypeReference

浅谈FastJson的TypeReference用法

2. MoreObjects.firstNonNull

返回第一个不为空的对象

Guava base -- MoreObjects

3. RowBounds

逻辑分页。之前一直没有注意,还以为最后也是limit,结果查资料后发现是逻辑分页,即取出所有满足条件的数据,然后舍弃掉前面offset条数据,然后再取剩下的数据的limit条

mybatis 分页 RowBounds和PageHelper性能评测

Mybatis逻辑分页原理解析RowBounds

4. @ApiOperation

接口文档注解,用于生成对应的接口文档,是swagger注解

spring接口文档注解:@ApiOperation

5. @JsonNaming注解

与PropertyNamingStrategy结合,项目中用到的是PropertyNamingStratgey.SnakeCaseStrategy,之后代码中的驼峰命名会转变为下划线。

Sping Boot返回Json格式自定义

6. PageHelper

项目中使用了PageHelper插件,需要注意的是spring boot项目引用的 版本是不同的

pagehelper-spring-boot-starter

7. @Transactional

该注解只能被用到public方法上。

其他的目前还没有注意到,等后续踩坑。

@Transactional详解

8. @ResponseBody @ResquestBody

@ResponseBody作用在方法上,表示该方法的返回结果直接写入Http response body中,一般在异步获取数据时使用ajax,在使用@RequestMapping之后,返回值会被解析为跳转路径,加入@ResponseBody注解后,返回结果不会被解析为跳转路径,而是直接写入response body中。

@RequestBody将Http请求正常插入到方法中,使用合适的HttpMessageConverter将请求体写入某个对象。

注解@ResponseBody和@RequestBody

@Controller和@RestController的区别?

9. @NoArgsConstructor  @RequiredArgsConstructor  @AllArgsConstructor

@RequiredArgsConstructor, @AllArgsContructor。使用这三个annotation来完成项目中对于不同构造方法的需求。

@NoArgsConstructor : 生成一个无参数的构造方法,这个annotation在与其他的annotation配合起来使用的时候更加能凸显出他的重要性,例如在使用hibernate这种框架的时候,如果有一个有参数的构造方法的时候,NoArgsConstructor会展示出他的作用。

@RequiredArgsConstructor: 会生成一个包含常量,和标识了NotNull的变量 的构造方法。生成的构造方法是private,如何想要对外提供使用可以使用staticName选项生成一个static方法。

@AllArgsContructor: 会生成一个包含所有变量,同时如果变量使用了NotNull annotation , 会进行是否为空的校验。

@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor

10. @EnableScheduling

@Scheduled注解配合@EnableScheduling使用,实现定时任务。

Spring @EnableScheduling 注解解析

 

 

标签:RequiredArgsConstructor,springboot,构造方法,NoArgsConstructor,gradle,使用,注解,小结,annota
来源: https://blog.csdn.net/sxllllwd/article/details/96695883

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有