
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
前言本篇主要要介绍的就是controller层的处理,一个完整的后端请求由4部分组成:1. 接口地址(也就是URL地址)、2. 请求方式(一般就是get、set,当然还有put、delete)、3. 请求数据(request,有head跟body)、4. 响应数据(response)本篇将解决以下3个问题:当接收到请求时,如何优雅的校验参数返回响应数据该如何统一的进行处理接收到请求,处...
前言通过对JdkDynamicAopProxy的invoke方法的探究,发现invoke的核心是:由匹配当前方法的advisor,例如与当前方法所匹配的所有before、afterReturning等增强,再将这些增强组成拦截器链// 生产拦截器链MethodInvocation invocation =new ReflectiveMethodInvocation(pro...
前言BeanUtils.copyProperties();确实为我们做了很多事情,虽然不能完美完成深拷贝,但是对于po、vo、dto的拷贝已经足够用了。但是其还是有一些不够完美的地方不足:不能拷贝list,而拷贝list的情况又大量存在,因此会有许多重复代码for (S source : sources) {T target = new T();...
连接到linux# ssh 用户名@ip地址chaitous-Mac-mini:~ chaitou$ ssh ubuntu@148.70.139.121ubuntu@148.70.139.121's password:Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-157-generic x86_64)* Documentation: ...
前言上篇我们已经敲定ORM框架使用Mybatis-plus了,这篇我们就正式来撸。在开撸之前再强调一遍:本专题的代码都使用lombok,因此拉下代码后,要运行前请务必装上lombok插件,否则报错。不知道怎么装的再回顾下springboot02:准备最好自己学习使用docker搭建一个mysql,并通过项目中/sql目录下的语句或springboot02:准备中的sql语句准备好数据库环...
#Spring运行原理简述使用spring IoC主要分为两个阶段。在上一篇中看到的代码实际只有2行,这两行对应着不同的2个阶段,麻雀谁小五胀俱全,这短短2行代码spring却为我们做了大量的工作。简单概述,spring在第一阶段将XML等配置文件读入到spring容器内生成一个个beanDfinition,该步骤就好比设计师根据用户的需求(也就是xml上的配置)绘制设计图纸的步骤,而生成的be.
简介Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。熟悉Linux的同学对这种风格一定不陌生,因为它跟Lin...
前言上节完善了productInfo的CRUD功能,这节我们完善Order订单功能,比起productInfo,订单的功能需要事务操作,保证多个数据库操作的原子性vo变复杂了,因此需要dto做转换事务事务就是为了保证多次数据库操作的原子性。举个简单的例子买商品第一步要扣钱,第二步要扣库存。如果没有事务,一旦第一步与第二步之间出现了异常,那么钱是扣了,库存却没变,这显然不符合业务场景...
前言Redis就不多做介绍了,直接进入正题,通过本篇将学习到(代码地址:https://gitee.com/chaitou/leilema.git):Redis常见功能Redis高可用分布式Springboot集成RedisTemplate的正确姿势集成Spring Cache常见误区(瑞士军刀开瓶盖)初学者往往认为Redis就是缓存,这其实是个误区,仅仅拿Redis当缓存好比拿瑞士军刀开瓶盖,但
本篇旨在让读者对Spring AOP实现原理有一个宏观上的认识,因此会丢失一些细节,具体实现参考:老实人Spring源码目录阅读本篇文章前,希望读者对Spring Ioc以及Spring AOP的使用(@Aspect)由一定了解,话不多说,直接上图准备工作Service类:有find方法跟save方法,find方法前后需要缓存操作,save方法前后需要事务操作CacheableAspec...