自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (6)
  • 收藏
  • 关注

原创 VS2013写代码时几个常用的快捷键

0 查看函数具体实现:说明:组合键是同时按,非组合键是按住Ctrl依次按后面的键1.格式化 格式化全部代码 Ctrl+A+K+F 格式化选中的代码 Ctrl+K+F2.注释代码 注释代码 Ctrl+K+C(comment) 反注释代码 Ctrl+K+U3.代码录入智能提示 组合键 Ctrl+J 组合键 Alt+→4.移动调整代码 1)调整一行:按住Alt键同时,按方向键上或下可以调整代码...

2021-08-08 17:31:58 1239

原创 C语言学习注意

1.函数:C中函数传递的是值,不是地址值。不会对原变量进行操作。例如:1.函数的传值与传址(ab与xy是俩个完全独立的空间,地址是不一样的)//swap1在被调用的时候,实参传给形参,其实形参是实参的一份临时拷贝//改变形参,不能改变实参//形参是在函数调用的时候才实例化,才开辟内存空间void Swap1(int x, int y)//{ int z = 0; z = x; x = y; y = z;}void Swap2(int* pa, int* pb)//{ i

2021-07-26 17:49:32 294 3

原创 策略模式对象初始化为空解决方案及项目中具体的使用

使用类:@Componentpublic class TaskReceiver { @Autowired TaskHandlerMapping mapper; @RabbitHandler @RabbitListener(queues = {MqTaskConstant.QUEUE_WS_CAMUNDA_EVENT_TASK} ) public void sendNotice(Message message, Channel channel) th

2021-03-18 17:50:06 752 1

原创 模板设计模式

模板设计模式:含义:父类统一事情步骤,父类定义抽象方法既是(钩子方法),其中细节由子类实现。第三方调用父类接口。例子: GetTimeTemplate定义固定的时间计算方式 :code()方法为真正操作,每个子类实现不一样。public abstract class GetTimeTemplate { // 固定流程方法 public long getTime() { // 获取起始时间 long t1 = System.currentTimeMillis();

2021-02-26 15:55:01 157

原创 代理模式中动态代理和静态代理

代理模式是SpringAOP的底层分类:动态代理和静态代理10.1、静态代理代码步骤:1、接口package pojo;public interface Host { public void rent();}2、真实角色package pojo;public class HostMaster implements Host{ public void rent() { System.out.println("房东要出租房子"); }}3、代理角色pack

2021-02-25 15:49:32 106 1

原创 单例模式实现方式

1. 双重检测锁方式:public class StudentTestwkb { private volatile StudentTestwkb student = null; private StudentTestwkb(){} public StudentTestwkb getStudentTestwkb(){ if(student == null){ synchronized(StudentTestwkb.class){

2021-02-24 16:13:58 70

原创 设计模式学习

七大设计原则 开闭原则(对修改关闭、对扩展开放):学习设计模式或者设计原则,就是为了去扩展代码功能的时候不去修改代码。 理式替换原则(继承):不要破坏类的继承关系,其实就是不要轻易去改动父类已经实现的代码。 接口隔离原则(接口):保证类实现的接口要单一,也是为了方便类的扩展和维护(也是为了开闭原则) 依赖倒置原则(面向接口或者面向继承编程):为了降低类之间的耦合性,尽量的不去面向细节或者实现进行编程。 单一职责原则(类):保证类本身功能职责单一,这样就会减少类的改动几率 合成复用原则(组合或者聚

2021-02-24 11:12:06 81

原创 mybatis源码分析

mybatis查看流程:1-3是项目启动时进行初始化的过程。4是我们进行查询时真正的执行过程。1 全局配置文件加载:1.SqlSessionFactoryBuilder创建SqlsessionFactory时,需要传入一个Configuration 对象。2.XMLConfigBuilder对象会去实例化Configuration。 3.XMLConfigBuilder对象会去初始化Configuration对象。 通过XPathParser去解析全局配置文件,形成Document对象

2021-02-24 10:45:04 73

原创 github创建新的仓库并上传文件夹

1. 界面创建新的库2. 根据提示将本地的文件夹创建为仓库echo "# kaikeba2020" >> README.mdgit initgit add README.mdgit commit -m "first commit"git branch -M maingit remote add origin https://github.com/wkbgithub/kaikeba2020.gitgit push -u origin main3. 此时仓库中没有.

2021-02-18 17:54:39 330

原创 docker安装redis和mysql

docker psdocker imagesdocker help进入容器 : docker exec -it 容器id(或者name) /bin/bashredis:redis.conf的内容:protected-mode noappendonly yesrequirepass 123456 启动挂载命令docker run --restart=always -p 6379:6379 --name redis -v /root/docker/redis/con.

2021-02-15 21:09:25 149

原创 jackson和fastjson对比使用

其中jackson的工具类:public class CNPCJacksonUtil { private final static ObjectMapper objectMapper = new ObjectMapper(); static { objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true); objectMapper.configure(JsonParser.Featur

2021-02-01 17:06:08 303

原创 Spring boot Caffeine缓存

1. 引入jar: implementation 'com.github.ben-manes.caffeine:caffeine:2.8.4' implementation('org.springframework.boot:spring-boot-starter-cache')2. 使用配置类配置package com.cnpc.cmp.cmpworksheetapp.config;import com.github.benmanes.caffeine.cache.*;import

2021-01-14 17:37:42 679

原创 JDK1.8的lamda表达式

JDK1.8的lamda表达式主要有:1 //筛选与切片 filter:过滤出符合条件的元素 limit:使其元素不超过一定值。 skip:跳过前面一定数量的元素 distinct :去除重复数据,要重写hashcode和equals方法2 //映射 map :根据规则将元素a 转变成要的 元素b3 //排序 sorted() sorted(Comparator<? super T> comparator);4 //终止操作 1.匹配与查找 //allMatch 检查元素是否都

2021-01-12 16:50:51 178 1

原创 使用MDC和AOP及拦截器为日志加跟踪标识

1. 参考文章:https://segmentfault.com/a/1190000022721682,https://blog.csdn.net/millery22/article/details/866723542. 开始使用了TreadLocal和拦截器增加标识,但是发现想中消费mq消息的日志,无法打印唯一标识。文章:https://blog.csdn.net/whxwkb/article/details/111594712。查询到MDC可以。3. 拦截器:public class L

2020-12-24 16:16:40 832 1

原创 项目日志添加统一个uuid标识

1. 使用TreadLocal保存每个调用的uuidThreadLocalInfo:import java.util.HashMap;/** * @Description: * @Author: wangkebing * @Date: 2020/12/23 * @Param: * @Retrun: **/public class ThreadLocalInfo extends HashMap<String, Object> { public ThreadLoc

2020-12-23 17:25:51 1103

转载 String.format常见使用(转)

// %nd 输出的整型宽度至少为n位,右对齐,%5d即宽度至少为5位,位数大于5则输出实际位数// %0nd 用得比较多,表示输出的整型宽度至少为n位,不足n位用0填充 System.out.printf("%5d \n",123 ); System.out.printf("%05d \n",1234 ); System.out.printf("%05d \n",12345 ); System.out.pri.

2020-09-28 14:01:16 2362

原创 map.merge()方法

1. 如果value不为空,进行merge处理。为空直接赋值newValue。实际上就是一个put操作。 然后将key对应的oldValue和newValue 根据传来的function进行处理。2 当处理后的value值为空,map会移除当前keydefault V merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction) {...

2020-09-27 16:42:40 6857 1

原创 RestTemplate使用:

1.getForObject()需要把url中参数,用占位符指定到参数对应的key如: String registerUrl = "http://local:2146/oauth2/v1/register?clientId={clientId}";

2020-09-09 14:29:29 90

原创 hystrix使用时如果使用了SpringSecurity需要配置一下

在项目中如果使用了springSecurity安全认证,在使用中如果调用远程接口,那么需要主启动类中配置:SecurityContextHolder.setStrategyName(SecurityContextHolder.MODE_INHERITABLETHREADLOCAL);将SecurityContextHolder 设置为可继承的属性。 因为hystrix会拦截所有的feign远程调用,并重启个线程去调用。因此这时的认证信息 SecurityContextHolder中会取不到。..

2020-09-02 16:40:18 257

原创 feign的使用坑

引入的包如果没有被spring扫描到,可以在application类上加上注解:@ComponentScan("com.test.cmp")引入Feign类的包如果没有被spring扫描到,可以在application类上加上注解:@EnableFeignClients("com.test.cmp")一定要加上包名,否则没办法注入FeignClient,即使加了@ComponentScan也不行。1种:引入service层,需要在application类上加上注解:@EnableFeignCli

2020-08-13 17:34:19 620

原创 springboot单元测试

import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.context.annotation.Comp.

2020-08-06 09:48:53 103

原创 feign使用

feign定义:@FeignClient(name = "worksheet",contextId="worksheetRemote")public interface WotestRemote { /** * 撤销工单 */@PostMapping("/worksheet/v1/terminate_api")Result terminate_api( @RequestBody ProcessInstanceTerminateDto dto);/** * 撤销工单 */@P

2020-08-03 16:57:56 121

原创 jdk1.8 的Stream操作使用

1 //筛选与切片 filter:过滤出符合条件的元素 limit:使其元素不超过一定值。 skip:跳过前面一定数量的元素 distinct :去除重复数据,要重写hashcode和equals方法2 //映射 map :根据规则将元素a 转变成要的 元素b3 //排序 sorted() sorted(Comparator<? super T> comparator);4 //终止操作 1.匹配与查找 //allMatch 检查元素是否都符合

2020-07-30 17:34:48 363

原创 @Transactional 注解使用

rollbackFor和norollbackFor:@Transactional(rollbackFor = Exception.class,noRollbackFor = NullPointerException.class)public Result update(String id, NoticeTemplateDto dto) throws Exception {从使用中看到,如果配置了:noRollbackFor = NullPointerException.class 。1.1 .

2020-07-29 16:19:42 233

原创 VSCode工具使用

1. 安装 open in browser插件,可以右键使用默认浏览器打开html

2020-07-10 14:31:30 202

原创 JPA使用nativeQuery多参数查询注意点

@Query(value = "update pf_process p set p.field_group_id = ?1 where id = ?2 ",nativeQuery = true) @Modifying void updateProcess(String defaultFieldgroupid,String processId); @Query(value = "update pf_process_form p set p.form_config= NULL...

2020-06-09 18:38:57 3431

原创 将本地项目push到git上步骤

1. 在项目中:git init2. git add .3. git commit -m 'first'4.git remote add origin 地址(http地址如:http://git.vipsdb.com/wkb/xxy-CR-vote-java.git)5.git push -u origin master...

2020-04-24 17:56:43 576

原创 sql笛卡尔积

2020-03-30 18:06:24 725

原创 Exists 和not in 的使用

SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for student-- ----------------------------DROP TABLE IF EXISTS `student`;CREATE TABLE `student...

2020-03-06 18:21:49 270

原创 Swagger和SpringAop日志记录代码地址

项目地址:http://git.vipsdb.com/wkb/http-demo3

2020-03-06 16:22:22 210

原创 在SpringBoot中用SpringAOP实现日志记录功能

在SpringBoot中用SpringAOP实现日志记录功能背景:我需要在一个SpringBoot的项目中的每个controller加入一个日志记录,记录关于请求的一些信息。代码类似于:  logger.info(request.getRequestUrl());之类的。代码不难,但由于Controller的数量不少,干起来也是体力活。所以想到了用Spring AOP来解决...

2020-03-06 11:28:15 289

原创 字符串截取处理

aa bb cc dd ff 变成:aa bb cc dd ff String bb = "aa bb cc dd ff "; bb = bb.replaceAll("\\s{2,}", " ").trim(); System.out.println(bb); String cc = "aa ...

2020-03-05 16:44:57 99

原创 笛卡尔积的结果

student表:可以看出,在SELECT a.*,b.* from STUDENT a join STUDENT b 后面的on条件是,在SELECT a.*,b.* from STUDENT a join STUDENT b 语句结果中进行条件过滤。...

2020-03-04 17:38:30 915

原创 sql语句中any和all的用法

这两个都是用于子查询的any 是任意一个all 是所有any表示有任何一个满足就返回true,all表示全部都满足才返回true建议使用max和min更加直观比如select * from student where 班级=’01’ and age > all (select age from student where 班级=’02’);就是说,查询出01班中,年...

2020-03-04 11:13:38 5913 2

原创 在join中,on和where的区别

1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉建议使用时使用where过滤掉不符合的条件。SELECT sc.DEGREE,st.SNAME,c.cname from SCORE sc j...

2020-03-04 10:37:22 1389

原创 idea中git回退远程仓库版本

好用的教程 链接:https://www.cnblogs.com/gexiaoshan/p/10182135.html工作中遇到,代码已提交并已提交到远程仓库,现需要回退到之前版本,记录如下:记录当前版本的版本号和需要回退到版本的版本号。current version:85e7f32dfe421c5892a4e2f38e7b542d1eacdf8cold ver...

2020-03-02 17:57:28 801

原创 将本地maven项目上传至github

1. gitlab上面建立空项目 demo12. idea clone下来项目 demo13. idea新建maven项目 demo24. 将maven项目demo2中的源码copy到 demo1文件夹中5. idea git commit 将源码提交,然后push 此时gitlab上面则有maven项目源码...

2020-03-02 17:56:06 456

原创 正确运用BigDecimal

另外,BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象,由刚才我们所罗列的API也可看出。在一般开发过程中,我们数据库中存储的数据都是float和double类型的。在进行拿来拿去运算的时候还需要不断的转化,这样十分的不方便。这里我写了一个工具类:/**...

2020-02-26 15:21:04 203

原创 Spring的两种动态代理:Jdk和Cglib 的区别和实现

一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP3、如果目...

2020-02-19 15:50:46 406

转载 为什么要使用代理模式

代理这个词大家肯定已经非常熟悉,因为现实中接触的很多,其实现实中的东西恰恰可以非常形象和直观地反映出模式的抽象过程以及本质。现在房子不是吵得热火朝天吗?我们就以房子为例,来拨开代理的面纱。假设你有一套房子要卖,一种方法是你直接去网上发布出售信息,然后直接带要买房子的人来看房子、过户等一直到房子卖出去,但是可能你很忙,你没有时间去处理这些事情,所以你可以去找中介,让中介帮你处理这些琐碎事情,中介...

2020-02-19 15:42:06 2811 2

logback中文文档pdf

logback中文文档pdf

2019-01-10

Spring源码文档和方法调用流程图

Spring源码文档和方法调用流程图

2018-10-08

shiro源码代码

shiro源码代码

2018-10-08

Spring源码分析

总结的源码分析文档

2018-09-05

高并发预习课源码加详细注释

高并发预习课源码加详细注释高并发预习课源码加详细注释高并发预习课源码加详细注释高并发预习课源码加详细注释高并发预习课源码加详细注释

2018-09-04

linux下安装nginx步骤

基本按照这个就可以安装成功nginx

2017-03-10

空空如也

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

TA关注的人

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