Spring Boot 项目
👉 整合Druid数据源 https://blog.csdn.net/qq_41320105/article/details/87636227 可以看看这位博主的其他配置文章
👉 接口返回数据 https://segmentfault.com/a/1190000018552463
👉 Redis配置 https://juejin.im/post/5ba0a098f265da0adb30c684#heading-5 https://www.jianshu.com/p/071bae3834b0 https://blog.csdn.net/qq_41320105/article/details/87867636
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<!--解决异常Error creating bean with name 'redisConnectionFactory'--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.6.1</version> </dependency>
注意要开启远程访问
可视化 https://www.jianshu.com/p/6895384d2b9e
反序列化失败1:因为之前在linux储存的数据是 > yang < ,没有加引号 "yang" ,所以不能被反序列化
反序列化失败2: 需要一个无参构造器才能反序列化
报错cannot deserialize from Object value (no delegate- or property-based Creator)
👉 maven很慢 https://www.jianshu.com/p/dddc8b8c5c74
👉 分页:从controller传递一个Pageable的子类PageRequest过去,给Repository一个形参Pageable,返回一个 Page<> 对象回来(Page<>有一个子类,PageImple )
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
@GetMapping("/users") public ResultVO<UserDTO> users(@RequestParam(value = "page",defaultValue = "1")Integer page,@RequestParam(value = "size",defaultValue = "5")Integer size){ //使用pageable的子类pagerequest构建一个对象 PageRequest pageRequest = PageRequest.of(page-1,size); Page<UserDTO> userDTOS = userService.getUsers(pageRequest); return ResultVOUtil.success(userDTOS); }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public Page<UserDTO> getUsers(Pageable pageable) { Page<WebsiteUser> websiteUserPage = userRepository.findAll(pageable); //本来获得到Page就可以返回出去,但是还要将数据装换成DTO,所以重新组装成PageImpl,Page一个实现类 List<UserDTO> userDTOList = WebsiteUserToUserDTOconverter.convert(websiteUserPage.getContent()); //构造一个page PageImpl<UserDTO> userDTOPage = new PageImpl<>(userDTOList,pageable,websiteUserPage.getTotalElements()); return userDTOPage; }
https://zhuanlan.zhihu.com/p/57545677 https://juejin.im/post/5dc35ea16fb9a04a6d7f1e74
👉 接口的设计
users/:uid/state/:type
👉 数据库时间自动创建和自动更新:
create_time : CURRENT_TIMESTAMP update_time:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
👉 上传文件(图片),使用一个很厉害个大佬写的 FastDFS :官方安装文档https://github.com/happyfish100/fastdfs/wiki ,项目地址:https://github.com/happyfish100/fastdfs;
带权限控制的安装文档:https://zhuanlan.zhihu.com/p/110089695
👉 保存信息: 远程主机强迫关闭了一个现有连接。 当操作完redis后,过一会没有操作,再次请求操作,会报这个错;报完错,再次请求,又显示正常。
解决方法:springboot配置redis设置超时timeout。
原因:个人猜测是因为服务端的问题。没有设置redis过期时间,默认一直连接,而当linux上的redis检测到没有操作,自己关闭了连接。
当设置了过期时间后,网站主动关闭,下次请求的时候,是一个新的连接。所以当第一次请求redis,会慢一点。
👉 部署项目: https://blog.csdn.net/qq_22638399/article/details/81506448 详细:https://blog.csdn.net/c1481118216/article/details/53010963 ,
停止项目:https://dxysun.com/2018/06/10/springBootForRunJar/
.