spring
王克兵
这个作者很懒,什么都没留下…
展开
-
模板设计模式
模板设计模式:含义:父类统一事情步骤,父类定义抽象方法既是(钩子方法),其中细节由子类实现。第三方调用父类接口。例子: GetTimeTemplate定义固定的时间计算方式 :code()方法为真正操作,每个子类实现不一样。public abstract class GetTimeTemplate { // 固定流程方法 public long getTime() { // 获取起始时间 long t1 = System.currentTimeMillis();原创 2021-02-26 15:55:01 · 173 阅读 · 0 评论 -
代理模式中动态代理和静态代理
代理模式是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 · 123 阅读 · 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 · 81 阅读 · 0 评论 -
设计模式学习
七大设计原则 开闭原则(对修改关闭、对扩展开放):学习设计模式或者设计原则,就是为了去扩展代码功能的时候不去修改代码。 理式替换原则(继承):不要破坏类的继承关系,其实就是不要轻易去改动父类已经实现的代码。 接口隔离原则(接口):保证类实现的接口要单一,也是为了方便类的扩展和维护(也是为了开闭原则) 依赖倒置原则(面向接口或者面向继承编程):为了降低类之间的耦合性,尽量的不去面向细节或者实现进行编程。 单一职责原则(类):保证类本身功能职责单一,这样就会减少类的改动几率 合成复用原则(组合或者聚原创 2021-02-24 11:12:06 · 97 阅读 · 0 评论 -
mybatis源码分析
mybatis查看流程:1-3是项目启动时进行初始化的过程。4是我们进行查询时真正的执行过程。1 全局配置文件加载:1.SqlSessionFactoryBuilder创建SqlsessionFactory时,需要传入一个Configuration 对象。2.XMLConfigBuilder对象会去实例化Configuration。 3.XMLConfigBuilder对象会去初始化Configuration对象。 通过XPathParser去解析全局配置文件,形成Document对象原创 2021-02-24 10:45:04 · 83 阅读 · 0 评论 -
使用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 · 887 阅读 · 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 · 1163 阅读 · 0 评论 -
Swagger和SpringAop日志记录代码地址
项目地址:http://git.vipsdb.com/wkb/http-demo3原创 2020-03-06 16:22:22 · 232 阅读 · 0 评论 -
Spring源码分析之IOC容器初始化过程
此时的Bean被存储在了ConcurrentHashMap<String,BeanDefiniton>();中pring源码文档和方法调用流程图下载地址:https://download.csdn.net/download/whxwkb/10706876原创 2018-09-04 15:53:04 · 339 阅读 · 0 评论 -
Spring源码分析-依赖注入
pring源码文档和方法调用流程图下载地址:https://download.csdn.net/download/whxwkb/10706876原创 2018-09-05 20:06:35 · 354 阅读 · 0 评论 -
异常的处理try catch
对代码中已知异常的处理时,如果我们希望调用别人的接口之后的流程依然需要执行,则不需要讲exception 抛出去,使用下面的形式:try{//调用别人的接口}catch(Exception e){........}如果在调用别人接口不通的情况下,之后的代码不能继续执行,则需要将exception抛出:使用下面形式:try{//调用别人的接口}catch(Exception e){...原创 2018-04-04 19:47:12 · 293 阅读 · 0 评论 -
手动提交事务和在for循环里进行事务控制及声明式事务的使用实例!
事务场景:需要做一个跑批进行一个流程的实现,0.获取异常数据(多条),for循环对单条数据进行下面三个操作:1).调用别的系统进行查询,2).查询自己的库中数据,3)更改自己数据库中的数据状态。此时就需要对单条数据操作的3步骤进行事务控制,使用的过程中发现两个解决办法:第一:在controller层进数据的获取,for循环处理单条数据时调用service层进行事务的控制.第二:在service层进...原创 2018-04-04 17:30:45 · 13874 阅读 · 0 评论 -
解决Spring定时计划任务重复执行两次(实例被构造两次)问题的方法
今天在做一个项目的时候用到了Spring的定时计划任务。这是Spring的特色功能,可以根据设置在特定的时间或间隔时间做特定的事。下面给出一个例子:[java] view plain copypackage net.csdn.blog.chaijunkukn; import java.text.SimpleDateFormat; import java.util.Calendar; im...转载 2018-04-11 14:40:23 · 2604 阅读 · 0 评论