自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 Clickhouse Partition Key,Order Key,Primary Key 测试调研

本文章其实是在调研测试分区键,排序健,主键过程中的一些总结和记录; 有助于了解到分区键排序健主键的区别,以及官方文档没有提及的东西

2022-09-23 10:58:44 940 1

原创 Apollo配置覆盖引发懒加载配置失效问题

出现问题版本过低,最新版本可能已经做出调整,此文章只是记录因为本地开发,想用测试环境的apollo,所以经常会出现本地覆盖测试环境的配置;一般我会新建一个local.properties来覆盖项目A,apollo 有spring.main.lazy-initialization=false;本地local文件:spring.main.lazy-initialization=true,覆盖成功,启动懒加载成功;

2023-08-07 21:00:57 429

原创 Spring5.0源码深度解析之SpringBean循环依赖问题解决方案

Spring循环依赖什么是Spring的循环依赖?循环依赖会存在哪些问题?示例:AService依赖BService; BService依赖AService@Servicepublic class AService { // @Autowired public BService bService;}@Servicepublic class BSer...

2020-01-17 10:11:20 160

原创 Spring5.0源码深度解析之SpringBean循环依赖问题解决方案

Spring循环依赖什么是Spring的循环依赖?循环依赖会存在哪些问题?示例:AService依赖BService; BService依赖AService@Servicepublic class AService { // @Autowired public BService bService;}@Servicepublic class BSer...

2020-01-17 10:09:58 132

原创 Spring5.0源码深度解析之SpringBean声明事务底层实现原理

Spring事务Spring声明式事务让我们从复杂的事务处理中得到解脱,使我们再也不用去处理这些步骤:获得连接、关闭连接、事务提交和回滚操作。再也不需要在事务相关方法中处理大量的try..catch..finally代码。Spring中事务的使用虽然已经相对简单的多,但是,还是有很多的使用和配置规则,下面我们开始我们本章重点。SpringAop基本原理和思想1、事务保证数据一...

2020-01-17 10:09:10 185

原创 Spring5.0源码深度解析之SpringBean的Aop源码分析

SpringAop源码分析:需要关联SpringBean的生命周期思考:1.什么时候创建代理类对象2.SpringAop中如何综合运用CGLIB和JDK动态代理@EnableAspectJAutoProxy:开启AOP的权限注入到Spring容器中ImportBeanDefinitionRegistrar手动注册Bean对象在前几章中提过,实现Import...

2020-01-16 10:34:58 167

原创 Spring5.0源码深度解析之SpringBean的生命周期

SpringBean的生命周期一:单例与多例对象是如何初始化单例默认情况下是在容器被加载的时候就会初始化多例是在每次获取Bean对象的时候初始化代码验证:@Componentpublic class UserEntity { public UserEntity() { System.out.println(">>>>Use...

2020-01-16 10:33:51 506

原创 Spring5.0源码深度解析之理解Configuration注解

主要内容:一、IOC容器的初始化流 创建IOC容器 注册配置类 BeanFactory后置处理器 Bean的后置处理器 创建Bean对象 IOC容器的初始化流程从:ApplicationContext applicationContext = new AnnotationConfigApplicationContext(MyCo...

2020-01-16 10:33:08 388

原创 Spring5.0源码深度解析之Spring基于注解启动流程分析

主要内容:一、IOC容器的初始化流 创建IOC容器 注册配置类 BeanFactory后置处理器 Bean的后置处理器 创建Bean对象 IOC容器的初始化流程从:ApplicationContext applicationContext = new AnnotationConfigApplicationContext(MyCo...

2020-01-16 10:32:02 220 1

原创 Mybatis深入源码分析之SqlSessionFactory二级缓存原理分析

这里再概括下上篇源码分析内容:一:Mybatis一级缓存mybatis的一级缓存是SqlSession缓存,在操作数据库的时候需要先创建SQL会话对象,在对象中有个HashMap用于存储缓存数据,此HashMap是当前对象私有的,其它SqlSession会话对象无法访问。具体流程:第一次执行select完毕会将查到的数据写入SqlSession内的HashMap中缓存起来 第二...

2020-01-16 09:31:13 604 1

原创 Mybatis深入源码分析之SQLSession一级缓存原理分析

本篇文章,我们继续分析:SQLSession一级缓存原理。一:invoke()方法源码分析首先,当我们调用getMapper的时候,就会进入invoke()方法:// 5.操作Mapper接口UserMapper mapper = sqlSession.getMapper(UserMapper.class);public Object invoke(Object proxy,...

2020-01-16 09:29:55 407

原创 Mybatis深入源码分析之Mapper与接口绑定原理源码分析

本章疑问:// 5.操作Mapper接口UserMapper mapper = sqlSession.getMapper(UserMapper.class);public interface UserMapper { public UserEntity getUser(int id);}为什么UserMapper是接口,没用实现类,那么他是怎么初始化的?getMappe...

2020-01-16 09:29:15 609

原创 Mybatis深入源码分析之SqlSessionFactoryBuilder源码分析

一:源码分析代码片段public static void main(String[] args) { try { // 基本mybatis环境 // 1.定义mybatis_config文件地址 String resources = "mybatis_config.xml"; // 2.获取InputStreamRea...

2020-01-16 09:28:18 174

转载 Spring IOC 容器源码分析——一篇文章读懂Spring5.x

Spring 设计的初衷Spring 则立志于全方面的简化 Java 开发。对此,她主要采取了 4 个关键策略:1、基于 POJO 的轻量级和最小侵入性编程;2、通过依赖注入和面向接口松耦合;3、基于切面和惯性进行声明式编程;4、通过切面和模板减少样板式代码;而他主要是通过:面向 Bean、依赖注入以及面向切面这三种方式来达成的。Spring5 系统架构...

2020-01-16 09:26:16 207

原创 Mybatis深入源码分析之基于装饰模式纯手写一级,二级,三级缓存

什么是装饰者模式在不改变原有对象的基础上附加功能,相比生成子类更灵活。装饰者模式应用场景Mybatis缓存,过滤器,网关控制,P2P分控审批装饰者模式定义(1)抽象组件:定义一个抽象接口,来规范准备附加功能的类(2)具体组件:将要被附加功能的类,实现抽象构件角色接口(3)抽象装饰者:持有对具体构件角色的引用并定义与抽象构件角色一致的接口(4)具体装饰:实现...

2020-01-16 09:23:27 272

原创 深度Mybatis源码分析——SqlSessionFactoryBuilder(建造者模式),Mapper接口绑定原理(代理模式)

一:源码分析流程图二:源码分析开始public class TestMyBatis { public static void main(String[] args) { try { // 基本mybatis环境 // 1.定义mybatis_config文件地址 String ...

2020-01-15 11:49:53 111

原创 单例设计模式源码分析,常用设计模式白话文总结

什么是单例单例模式确保某各类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能,每台计算机可以有若干个打印机,但只能有一个Printer spooler,以避免两个打印作业同时输出到打印机中,每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个...

2020-01-15 11:45:21 97

原创 深入MyBatis源码,理解Java设计模式之适配器模式

什么是适配器模式定义:将一个系统的接口转换成另外一种形式,从而使原来不能直接调用的接口变得可以调用。适配器模式角色划分适配器模式涉及3个角色:1.源(Adaptee):需要被适配的对象或类型,相当于插头。2.适配器(Adapter):连接目标和源的中间对象,相当于插头转换器。3.目标(Target):期待得到的目标,相当于插座。适配器模式包括3种形式:类适配器模式、对象适...

2020-01-15 10:51:26 113

原创 真实项目案例实战——【状态设计模式】使用场景

什么是状态模式状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式应用场景1.一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。2.操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。这个状态通常用一个或多个枚举常量表示。通常,有多个操作包含这一相同的条件结构。State模式将每一个条件分支放...

2020-01-15 10:49:08 359

原创 深入Proxy底层源码——实现自己的JDK动态代理

JDK动态代理原理分析在使用jdk动态代理的时候,必须要实现InvocationHandler接口;invoke方法中该三个参数分别表示为: 代理对象、被代理执行的方法、参数public class JdkInvocationHandler implements InvocationHandler { /** * 被代理类对象 目标代理对象 */ pr...

2020-01-15 10:37:19 269

原创 浅谈Java【代理设计模式】——看这篇文章就懂了

什么是代理模式为其他对象提供一种代理以控制对这个对象的访问。为什么使用代理模式中介隔离:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。开闭原则,增加功能:代理类除了是客户类和委托类的中介之外,我们还可以通过给代理类增加额外的功能来扩展委托类的功能,这样做我们只需要修改代理类...

2020-01-15 10:31:49 77

原创 ”万丈高楼平地起“——如何从“建筑师”角度打造【装饰者设计模式】

什么是装饰者模式在不改变原有对象的基础上附加功能,相比生成子类更灵活。装饰者模式应用场景过滤器,网关控制,P2P分控审批装饰者模式类图装饰者模式定义(1)抽象组件:定义一个抽象接口,来规范准备附加功能的类(2)具体组件:将要被附加功能的类,实现抽象构件角色接口(3)抽象装饰者:持有对具体构件角色的引用并定义与抽象构件角色一致的接口(4)具体装饰:实...

2020-01-15 10:30:31 113

原创 【聚合支付平台】如何智用【模板+工厂】设计模式来实现异步回调

异步回调流程解析报文(验证签名) 日志收集(相同) 如果解析报文成功的话,修改支付状态为已经成功.返回不同的支付结果模版方法设计模式提前定义好整体的骨架,不同的行为让子类实现,相同的行为直接定义在抽象类中复用。相同的行为就定在抽象方案中,不同的行为的实现子类实现核心设计要点AbstractClass : 抽象类,定义并实现一个模板方法。这个模板方法定义了算法的...

2020-01-15 10:29:50 160

原创 【奇思妙想】如何给网关设计一款专属的权限控制【责任链设计模式】

什么是责任链模式客户端发出一个请求,链上的对象都有机会来处理这一请求,而客户端不需要知道谁是具体的处理对象。这样就实现了请求者和接受者之间的解耦,并且在客户端可以实现动态的组合职责链。使编程更有灵活性。关键点1、有多个对象共同对一个任务进行处理。2、这些对象使用链式存储结构,形成一个链,每个对象知道自己的下一个对象。3、一个对象对任务进行处理,可以添加一些操作后将对象传递个下一个...

2020-01-15 10:27:37 115

原创 经典设计模式之策略模式【如何重构聚合支付平台,对接【支付宝,微信,银联支付】】

写在前面:设计模式源于生活,而又高于生活!为什么要使用设计模式重构代码使用设计模式可以重构整体架构代码、提高代码复用性、扩展性、减少代码冗余问题。Java高级工程师装逼的技能!什么是策略模式策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重if判断问题。1.环境(Context)角色:持有一个Strategy的引用...

2020-01-15 10:26:16 197

原创 ngixn 转发到 zull网关 404

curl 接口 正常 ,走nginx 404当时原因是 端口后面要加 / !!!!!!简单记录。后面发现获取uri的时候会是两个/ 在/api 后面加个/ 就行...

2019-12-03 11:03:06 354

原创 Jekins+Docker+GitLab+Springboot 一键部署持续集成

先来安装必要软件1.Docker--------------------yum 安装 docker-----------------------------------1、通过 uname -r 命令查看你当前的内核版本 高于3.1版本uname -r2、使用 root 权限登录 Centos。确保 yum 包更新到最新。yum -y update3、卸载旧版本(...

2019-04-18 10:32:53 976

原创 Hystrix断路器解决服务雪崩问题

解决rest方法调用雪崩问题依赖在调用端新增依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId></dependency> ...

2018-08-26 22:51:47 325

原创 Fegin调用springcloud服务

Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Feign 采用的是基于接口的注解 Feign 整合了ribbon创...

2018-08-26 22:04:14 952

原创 springcloud的Hello Word!

搭建一个Eureka注册服务(注册中心)Maven依赖   <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1...

2018-08-26 17:25:58 1014

原创 纯手写springboot2.0框架及分析

      一 丶原理剖析1. SpringBoot 是一个快速整合第三方框架(maven子父依赖关系,把需要整合的jar包封装好依赖信息);2.简化XML配置,采用注解化;在传统的web项目是需要web.xml去加载整个项目的配置文件。注解是在spring3.0以上提供的,所以SpringMVC内置注解加载整个配置文件,相当于java代码编写Spring...

2018-08-24 09:20:50 888

原创 springboot Mybatis整合分页插件 PageHelper

pageHelper PageHelper 是一款好用的开源免费的 Mybatis 第三方物理分页插件 物理分页<!-- springboot 整合 pagehelper --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelpe...

2018-08-19 22:20:42 1802

原创 Atomikos 管理pringBoot分布式事物管理

pringBoot分布式事物管理使用springboot+jta+atomikos 分布式事物管理Atomikos 是一个为Java平台提供增值服务的并且开源类事务管理器。 5.1.2.1 新增jta-atomikos依赖 <dependency> <groupId>org.springframework.boot</groupId&...

2018-08-19 22:05:23 532

原创 springboot整合多数据源

1,有两个数据库都用个user表2.配置文件有两个数据源###datasource1spring.datasource.test1.driver-class-name = com.mysql.jdbc.Driverspring.datasource.test1.jdbc-url = jdbc:mysql://localhost:3306/test?useUnicode=true&...

2018-08-19 19:39:44 137

原创 springboot区分不同的配置文件

建3个不同环境的配置文件通过Spring.profiles.adtive来区分不同的配置文件每一个配置文件有不同的name值通过@Value注解注入配置文件的值通过controller访问通过不同的指定获取不同的name值over...

2018-08-19 14:32:59 1041

原创 springboot2.0整合mybaties

依赖:<?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

2018-08-19 14:23:13 138

原创 POI完成Excel的导入导出数据库的功能

3.controller层

2018-08-17 13:16:26 475 1

转载 转载 MD5页面加密

原文地址:https://blog.csdn.net/hcwbr123/article/details/70885388分享转载现象:在登录页面有时候需要将用户输入的密码经过加密之后再传入后台.1 2解决办法:1:首先在页面引入md5的js,在前台框架amazeui中就携带!先下载amazeui,解压将目录复制到项目的WebRoot下。1 22:在js...

2018-08-04 11:49:18 830

原创 Vue完成三级联动 地址联动

Vue实现三级联动Html部分: <div class="form-group">    <div class="col-sm-2 control-label">省<span style="color:red;">*</span></div>    <div class=&qu

2018-08-02 12:04:30 3084

原创 layui的开关还原OFF状态,重置layui开关

<input type="checkbox" name="switch" lay-skin="switch" lay-filter="yyy" lay-text="ON|OFF" >这个是layui开关的input,当第二次点进去怎么才能还原为offvar o = $(".layui-form-switch");o.find("em&q

2018-08-02 10:54:49 7589 6

空空如也

空空如也

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

TA关注的人

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