——java
张伟光
好玩的不是技术,好玩的是用技术玩转业务
展开
-
spring 升级5之后引发的问题
1.mvc发生了修改,之前比如后端是list 接口, 前端用list.json请求了,会抱404,这时候我们需要在mvc配置文件中加<mvc:path-matching suffix-pattern="true"/>意思是允许后缀匹配2.升级后Log4jConfigListener不识别,需要把log4j升级log4j2,解决方法将log4j文件放到 resource目录下,官网给的解决办法,感谢组内大神帮忙解决Apache log4j 1.2 - Short原创 2022-04-08 18:12:12 · 2741 阅读 · 0 评论 -
spring启动设置开关
【前言】 最近接触了一个项目,对数据库的数据进行监听,当监听到数据库数据进行了增删改,就会更新es或者做一些业务处理,这时候就有一个疑问,如果我项目运行中,我想关掉这个服务的监听,而不是杀死服务,这时候怎么处理呢?【过程】 @Componentpublic class SpringFinishedListener implements InitializingBean, ApplicationListener<ContextRefreshedEvent>...原创 2021-10-09 15:22:08 · 491 阅读 · 1 评论 -
spring aop拦截dao层 对参数自动加解密
【前言】 项目中对一些手机号邮箱什么的,我们都在数据库存储的是加密状态,但是我们在实际在后端传参数的时候,传的是手机号,这时候我们就需要做下处理,自动把手机号加密,或者当查出来的手机号是加密状态,我们自动给它解密。【实战】 一、定义拦截类package com.zhipin.crm.customer.base.encrypt;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.Proceedin...原创 2021-08-30 20:53:10 · 1661 阅读 · 3 评论 -
Java树结构的一些方法
package cn.techwolf.boss.crm.utils;import org.apache.commons.collections4.CollectionUtils;import java.util.*;import java.util.function.Consumer;import java.util.stream.Collectors;public class TreeUtils { /** * 列表转树 * @return *.原创 2021-02-02 14:10:55 · 2719 阅读 · 0 评论 -
mysql delete in删除数据
【前言】 如果多张表连查出来符合条件的单表的id后,但是通过delete in无法删除?这时我们该如何处理?【实践】CREATE TABLE tmp AS SELECTe.role_id FROM ( SELECT a.role_id FROM sys_user_role a WHERE a.user_id NOT IN (SELECT b.user_id...原创 2020-02-20 17:36:47 · 11044 阅读 · 0 评论 -
parallelStream简单实用规则
【前言】 Stream().forEach是单线程的形式进行遍历,没有充分利用现在多核Cpu的设备,这时我们就需要使用今天说到的parallelStream。【使用】 我们怎么使用呢?直接parallelStream().forEach。这时就变得并行执行任务。由于并行遍历会改变执行的顺序,从而影响返回的顺序,这时我们就需要使用:parallelStream()...原创 2020-01-08 15:34:00 · 571 阅读 · 0 评论 -
java8函数式编程基础(一)
什么是函数式编程?为什么要用函数式编程?函数式编程有哪些特色?(相比较不用函数式编程来看)函数式编程有哪些意想不到的高级特性?...原创 2019-12-17 19:09:49 · 147 阅读 · 0 评论 -
继承中黑狗与狗的关系
所有的黑狗都是狗,在new黑狗的时候首先走狗的构造方法,在走狗的构造方法时,用this依旧是黑狗,如果在狗中写方法时,要用狗做形参,是为了让所有的黑狗,白狗,黄狗都用这个方法。...原创 2019-06-15 16:39:02 · 195 阅读 · 0 评论 -
java学习问题记录
【null访问类成员和实例成员的区别】null如果访问实例成员变量将会报空指针异常,如果访问类成员变量没有问题,如下代码:public class Apple{ public static int weight=300; public static void print() { System.out.println("Weight is "+String.v...原创 2019-04-30 20:15:47 · 156 阅读 · 0 评论 -
【java 】 继承关系的分配内存原则
【前言】继承关系java的三大特性之一,是实现软件复用 的重要手段。我们简要论述一下内存的分配机制,知道机制后,我们才能更好的理解为什么会这样搞继承?怎样才可以搞好继承关系?【实战开始】先说一个小的知识,在jvm中给对象放到堆中,给变量放到堆中,对方法和static修饰的对象也会放到专门的内存。一、代码段class Base{ private String name="2...原创 2019-04-07 21:39:25 · 384 阅读 · 0 评论 -
java利用stream流查出符合某个条件的list,并且进行赋值
List<WorkHandoverModel>workHandoverList2=workHandoverList.stream().filter(item->item.getIsDelete().equals(0)).collect(Collectors.toList());//获取list中符合没有删除的工作交接的listList<WorkHandoverMode...原创 2019-03-30 21:11:43 · 40996 阅读 · 0 评论 -
java 动态绑定
动态绑定也叫多态,也叫池绑定,用它的目的是为了提高方法的扩展性,具体怎么用大家可以看下面的代码中的例子。核心思想动态绑定是指在执行期间,而非编译期间判断所引用对象的实际类型,根据其实际类型调用其方法。abstract class Animal { private String name; Animal(String name) {this.name = name;} ...原创 2017-11-26 22:34:05 · 452 阅读 · 31 评论 -
java简单的基础轮廓
历时三周,又复习了一遍马士兵老师的基础课程,感觉很经典,深入浅出的把java里面的基础讲了一遍,下面是简单的画的一张图。【技术】 1.刚学习完C++,难免会把java和C++作比较,java应该可以说是从C++引申过来的,C++有指针和引用两种操作数据的方式,而指针又太危险了,所以java摒弃了指针,只采用引用的方式,其实也是另一种指针的形式。 2.在软考的学习过程...原创 2017-12-08 20:16:10 · 494 阅读 · 17 评论