自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风团团

张子行的博客

  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 序列化之@JsonComponent、@JsonInclude、@JsonSerialize、@JsonIgnore、JsonProperty区别与联系作用

前言:很多时候,例如前端需要字段user可能只是需要用到user中的userName属性,而后端传过去的却是一整个user对象,这样显然是不行的。那有没有一种技术,可以把后端传给前端的user类型的值改变为userName类型的值呢?@JsonComponent、@JsonInclude、@JsonSerialize可以在序列化的时候动手脚,可以自定义返回给前端的序列化的对象的值。完美解决这个问题。本文概述@JsonSerialize常见用法标注在类上面用法标注在属性、get方法上@JsonIgnor.

2021-01-31 21:45:17 1737

原创 springBoot项目中yml文件${REDIS_HOST:127.0.0.1}写法解析

spring: redis: database: 2 host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379}host: ${REDIS_HOST:127.0.0.1}表示从配置文件yml中或者启动命令中读取REDIS_HOST的值,如果从命令行中没有读取到REDIS_HOST的值,就是用默认值。这样的好处是换一个新的环境时,不用改配置文件,直接在启动命令上指定值就可以。例如:java -jar -REDIS_HOST=1

2021-01-29 16:40:22 3661

原创 spring中的Assert工具类的使用(如何写出优雅的代码)

Assert常用于数据合法性校验,不通过就报异常,常规写法if (text != null && "".equals(text)) { throw new IllegalArgumentException("字符不能为null,且至少包含一个非空格字符"); }用Assert工具类就可以这样替代Assert.hasText(text,"字符不能为null,且至少包含一个非空格字符"); //String常用Assert介绍public c

2021-01-29 16:19:30 434

原创 mybatisPlus属性自动填充配置之MetaObjectHandler接口实战

前言:在我们向数据库插入一条数据的时候,少不了一些向createTime、updateTime此类字段,每次插入的数据都要设置这些个值,很烦,通过实现MetaObjectHandler接口重写insertFill、updateFill方法可以帮你摆脱烦恼本文概括MetaObjectHandler介绍1:编写MetaObjectHandler 实现类2:实体类上边加上@TableField(fill = FieldFill.INSERT_UPDATE)注意点小节代码链接MetaObjectHandle.

2021-01-29 15:04:19 36612 3

原创 Spring中提供的扩展点之ApplicationContextAware接口的在项目中的使用

前言:在springBoot项目中,我们平常的工具类一般都是基于jdk层面来写的,但是如果我们想写一个基于web层面的工具类呢?各种属性都是在容器里,request…里面,难不成这个web层面的工具类也是靠注入各种bean来实现的嘛?显然不是的,这样的代码太多就不是工具类咯,而此时ApplicationContextAware的作用就体现出来啦本文概览ApplicationContextAware 概括项目实战项目中使用springBoot单元测试测试结果ApplicationContextAwar.

2021-01-29 14:59:07 498

原创 mybatisPlus注解版动态拼接sql

前言:前段时间不是在实习嘛,公司用的是注解开发不用xml的,特此记录注解版动态拼接sql,还有使用过程中踩坑集合。先记录1.0版本,以后遇到别的在完善就是。其实就是在xml那种格式下面最外面一层用< /script > 标签包住就行了,其余部分用英文双引号包住,表达式用单引号包住就ok了,@Param(“idMin”) Integer idMin与#{idMin}对应。不过我这里如果idMin为null那么between null and 20是查不出数值的,< /script &g.

2021-01-27 21:06:50 3645

原创 spring扩展点之InitializingBean接口实战

前言:InitializingBean接口让我们可以干涉bean的初始化过程,算是spring给我们提供的一个扩展点咯,凡是继承InitializingBean接口的类,在创建bean的时候都会执行afterPropertiesSet方法,在这个方法里面我们可以写一些自己的业务逻辑。文章概括实战场景之把配置类java代码化测试答疑实战场景之把配置类java代码化把配置类java代码化是什么鬼哦,就是把application.properties或者application.yml中的配置属性通过In.

2021-01-27 20:26:08 405

原创 spring注解之@Value详解

前言:为了把程序中用到零零散散的配置信息变得容易维护,我们会把这些信息写进配置文件,那么怎么从配置文件读出这些信息呢?@Value帮你解决@Value注解作用该注解的作用是将我们配置文件的属性通过前缀匹配的方式读出来,有@Value(“${}”)和@Value(“#{}”)两种方式。使用在springBoot项目中,application.yml中配置了如下信息/** * @author zzh * @class */@Component@Datapublic class par.

2021-01-27 20:25:02 2567

原创 shiro实现用户踢出,在线用户列表展示功能,包含常见踩坑集合、代码下载

功能描述:用户a登录了s账号,接着用户b也登录了s账号,此时用户a将被踢出。一个账号只能一个人登录,被别人登录了,那么你就要被踢下线。shiro认证与授权理解用户在登录的时候只执行认证方法而没有马上去执行授权doGetAuthorizationInfo()方法。shiro并不是在认证之后就马上对用户授权,而是在用户认证通过之后,接下来要访问的资源或者目标方法需要权限的时候才会调用doGetAuthorizationInfo()方法,进行授权.比如当认证通过后,访问@RequiresPermis.

2021-01-25 21:52:20 1287 2

原创 利用aop、拦截器HandlerInterceptor来实现接口限流,日志收集

前言:aop是面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。拦截器是web请求中一个请求周期中的一环就实现接口限流这个需求来说,用aop和HandlerInterceptor都可以来实现,就是在调用接口之前做一些约束而已。aop+自定义注解+Semaphore实现接口限流自定义限流注解/** * @author 张子行 * @class 限流注解,秒级访问多少次 */@Retention(RetentionPolicy.RUNTIME)@Documen.

2021-01-21 11:17:36 1195 2

原创 compareTo、Comparator、TreeSet排序那些事

前言:对于后端开发而言,学会对数据的自定义排序还是十分有必要的。需要用到排序的场景也是很多的,什么排行版展示、利用时间+别的条件排序、还有预接单的数据就是要展示在已接单的数据前面这种需求、等等。总之很重要的!一:对集合排序对以下的数据做展示顺序排序:未接单>预接单>已接单。(注意里面有俩条一样的数据数据哦)/** * @author 张子行 * @class */ users.add(new User(1, "未接单")); users.add(n.

2021-01-18 15:07:19 288

原创 数据前置参数类型转换@InitBinder、Formatter<?>、Converter<?>的使用

前言:在很多时候我们在进行调用接口的时候,传入的参数类型不是指定的特别明确(或者是不能进行自动类型转换),会导致调用接口失败的情况出现,如果我们在调用接口之前进行数据格式化,手动进行数据类型转换,那么就不会出现调用接口失败的情况出现了。这些注解无非也就是做这些工作的。下面列举工作绝大部分用到的场景 @ResponseBody @RequestMapping(value = "/bookDo", produces = "application/json" , c.

2021-01-13 12:03:33 514 1

原创 2020年终总结(技术篇),重整心情、扬帆起航

大二上篇突如其来的疫情打破了以往的平静,哪都不能去只能呆在家里,因此我收获了有史以来最长的一个寒假,在宅在家的这4个月里面,我独立做了一个大项目嘿嘿,期间历时一个多月,每天除了和家人的交际,那段时间几乎脑子里想的全是这个逻辑到底怎么实现的啊,日复一日的思考着,每一天都有新的bug出现,快乐并且老痛苦啦!!!有时候做在电脑桌前想一天都纳闷为啥报错,累了就躺在椅子上望着天空发呆,小小的脑袋对未来可是有无限的憧憬呢。有时候也会午睡到直接干晚饭,对此,我妈真的没少骂我,说我作息不规律、大懒蛋了,老嫌弃我了。不过我

2021-01-06 10:14:15 222 1

java开发的小游戏源码

java开发的小游戏源码注意是纯java开发的游戏

2019-03-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除