
代码记录
DevDiary
这个作者很懒,什么都没留下…
展开
-
利用spring-boot-starter-validation(hibernate validator)校验javaBean参数
引入依赖:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/mav原创 2020-08-02 00:14:55 · 768 阅读 · 0 评论 -
微服务的一些良好规范及实践代码记录
MsgResult@Data@SuppressWarnings("unchecked")public class MsgResult<T> { /** * code 错误码 */ private String code; /** * msg 错误信息 */ private String msg; /** * data 返回的数据 */ private T result;原创 2020-06-13 14:28:20 · 357 阅读 · 0 评论 -
设计模式之装饰者模式
1、装饰者模式优缺点优点相对于继承,灵活性更强。通过把复杂功能切分为一个个独立的装饰器,再动态组合这些装饰器,创建不同的功能组件,满足现实多种不同需求。符合开闭原则:但有新功能添加时,只需要添加新的装饰器实现类,再通过组合的方式添加这个新装饰器。缺点随着需求增加,可能不断增加组合,多层嵌套,增加复杂度,理解、定位难度2.涉及角色:2.1 组件接口:定义了全部组件实现类以及所有装饰...原创 2020-01-22 11:04:07 · 241 阅读 · 0 评论 -
分享自定义的JAP列表分页查询工具
基于JPA的分页工具,支持原生sql的多表关联,条件的生成只需要在dto上声明式地注解。可简化开发,提高开发效率,符合习惯了mybatis开发者的开发习惯。1.自定义条件生成注解NativeQueryCondition 常量类OperatorConstant/**用于生成native sql条件的注解,作用于dto的字段 * @author tlj * @date 2019/...原创 2020-01-20 16:23:48 · 703 阅读 · 0 评论 -
利用百度翻译openAPI汉化activiti语言配置文件
公司用了activiti开源工作流作为审批流系统,发现汉化文件只被汉化了一部分,而且文件挺大,有1000多行。下面利用百度翻译openAPI汉化activiti文件。1.先去百度翻译openapi申请成为开发者,填写必要信息,获取key&秘钥https://api.fanyi.baidu.com/api/trans/product/desktop?req=developer...原创 2020-01-20 15:19:45 · 1695 阅读 · 0 评论 -
BigDecimal精度校验器
1.定义校验器/** * @author tlj * @date 2019/7/9 */@Documented@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.FIELD, ElementType.METHOD})@Constraint(validatedBy = DecimalValidator.EnumVali...原创 2020-01-13 10:44:50 · 1727 阅读 · 1 评论 -
springboot自定义枚举校验器实现枚举校验
接口入参在很多时候是枚举类型,校验范围限定为枚举类中的几个值。通过实现自定义枚举校验器,注解声明在DTO相应的字段上,即可校验枚举类型。1.定义校验器EnumValidator.javapackage com.pld.product.center.common.utils;import com.pld.product.center.common.enums.Product...原创 2020-01-12 23:12:14 · 3805 阅读 · 0 评论 -
使用rabbitMq实现定时任务
场景:我的项目是一个内容管理中心,需要实现文章&广告的定时上下架功能。实现可选方案有:自己设计任务表进行定时轮询 redis的过期事件 rabbitMQ的TTL,通过设定消息的超时时间,交换机的x-dead-letter-exchange,超时后转移到待消费队列实现。 还有其他更多的方案,此处选择3一图胜千言,方案设计图如下:下面贴代码:一、配置文件配置ra...原创 2020-01-11 18:18:26 · 2953 阅读 · 0 评论 -
客户端向rabbitmq队列读取信息的方式
1.push模式(在客户端(消费者)设定监听器后,rabbitmq服务端向消费者push消息)package com.pld.content.manager.controller.mq;import com.pld.content.manager.config.RabbitConfigCommon;import com.pld.content.manager.domain.servic...原创 2020-01-08 20:19:43 · 1762 阅读 · 0 评论 -
递归遍历package下面某些符合条件的类(比如含有某些注解)并读取元信息
递归遍历package,筛选下面某些符合条件的类(比如含有某些注解)并读取元信息。比如打印所以控制器的注解说明代码如下package com.pld.order.controller;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import java.i...原创 2019-08-08 17:53:56 · 335 阅读 · 0 评论 -
springboot项目使用过滤器统一进行参数校验,敏感词替换
1.问题场景 对入参进行敏感词过滤,去空格,去换行符等操作,可提高程序健壮性,减少由此带来的业务上的bug,是很普遍的需求。使用过滤器统一,不用每个接口进行处理,提高代码可维护性 2.实现自定义ServletInputStream(只对post类型)获取流,校验并json参数,把去掉过滤参数后的参数传递回去 3.实现自定义 HttpServletRequestWrapper...原创 2019-08-05 16:54:40 · 5432 阅读 · 0 评论