自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 SpringSecurity OAuth2搭建微服务安全认证网关

之前我们搭建了一个SpringSecurity OAuth2的入门案例 SpringSecurity OAuth2密码模式入门案例 在这个案例中我们分别搭建了认证服务器与资源服务器,在请求资源服务器的资源的时候需要在请求头中带上一个token,资源服务器在拿到token之后请求认证服务器去验证...

2020-02-06 15:26:48

阅读数 11

评论数 0

原创 一步步入门搭建SpringSecurity OAuth2(密码模式)

什么是OAuth2? 是开放授权的一个标准,旨在让用户允许第三方应用去访问改用户在某服务器中的特定私有资源,而可以不提供其在某服务器的账号密码给到第三方应用 大概意思就是比如如果我们的系统的资源是受保护的,其他第三方应用想访问这些受保护的资源就要走OAuth2协议,通常是用在一些授权登录的...

2020-02-05 19:38:20

阅读数 7

评论数 0

原创 Mybatis原理解析(四)--查询流程

前三篇Mybatis的原理解析可以点击链接查看: Mybatis原理解析(一)解析全局xml配置文件生成SqlSessionFactory过程 Mybatis原理解析(二)SqlSession的创建过程 Mybatis原理解析(三)--getMapper动态获取接口实现类 这一篇主要讲的是...

2020-01-05 14:56:48

阅读数 10

评论数 0

原创 浅谈Mysql底层索引原理

Mysql中一旦数据量上到一定的数量级别就会到达性能上的瓶颈,而我们都知道解决的办法就是加索引,但是至于为什么加索引之后查询的性能就能瞬间提升上去了尼?我想很多人都知其然而不知其所以然,其实这都是与索引的数据结构有关。下面我们就逐渐深入了解下Mysql的索引加速查询的原理。 上面说到索引是和其...

2020-01-05 14:55:25

阅读数 31

评论数 0

原创 SpringAOP原理解析

Spring中主要有两大核心模块,其中一个就是AOP(切面编程)。通常我们使用SpringAOP注解版的时候都是定义一个切面类,里面定义好切入点,然后对定义好的切入点可以进行@Before前置通知处理,@After后置通知处理,@AfterReturning返回通知处理,@AfterThrowin...

2019-09-29 16:09:16

阅读数 51

评论数 0

原创 Mybatis插件机制原理

在Mybatis中,有一个强大的机制可以让我们快速地侵入到Mybatis的底层操作,从而去扩展Mybatis的功能,这就是插件机制,我们也可以叫作Mybatis的拦截器机制。 一.基本原理 在Mybatis架构体系中,有着四大组件(对象),分别是Executor,StatementHandl...

2019-08-18 00:01:21

阅读数 46

评论数 0

原创 Mybatis原理解析(三)--getMapper动态获取接口实现类

在上一篇中,我们讲述了Mybatis中是如何创建出SqlSession的,知道了在创建SqlSession的过程中Mybatis的底层其实是在帮我们创建了Executor执行器,并且存放在了创建的DefaultSqlSession中,想知道创建DefaultSqlSession过程的朋友可以到 ...

2019-08-13 23:03:40

阅读数 25

评论数 0

原创 Mybatis原理解析(二)SqlSession的创建过程

在上一篇中我们一起深入地看了SqlSessionFactory在创建的过程中里面都做了些什么,所以这里我们就接着讲下一步SqlSession的创建。没看上一篇的点这里: Mybatis原理解析(一)解析全局xml配置文件生成SqlSessionFactory 首先我们知道了在创建SqlSess...

2019-08-10 23:24:12

阅读数 19

评论数 0

原创 Mybatis原理解析(一)解析全局xml配置文件生成SqlSessionFactory过程

在单单使用的Mybatis中我们都是如上图所写的步骤去实现的,那么我们这里就通过源码去看看SqlSessionFactory是怎么创建的吧。 源码深入 进去之后先是调用了里面的一个builde的重载方法,把我们的全局配置文件的stream传进去,点进去 里面是创建了一个XMLConf...

2019-08-10 22:24:29

阅读数 13

评论数 0

原创 MYSQL锁机制---MyISAM表锁

对于我们的一个应用来说,并发问题是不可忽视的。其实每一个网站都存在着并发的问题,只是平时这些网站的并发数不够多而显得没有问题罢了。言归正传,mysql作为现在众多网站中使用的数据库之一,当然自己也有一套机制去解决并发问题,那就是锁机制。 在mysql中有许多存储引擎,其中InnoDB和MyI...

2019-08-04 22:15:14

阅读数 17

评论数 0

原创 MYSQL索引优化(索引失效场景)

学习mysql是作为一名Java工程师必不可少的事情,但是我们只认识mysql的增删查改建表等等的sql语句其实远远不够的,对于进阶mysql来说,索引是一个很重要的部分。下面我们就来说一下在mysql中索引失效的几种场景吧。 首先先来看看测试的表结构 dept部门表 建立的索引(na...

2019-08-02 21:37:14

阅读数 69

评论数 0

原创 Java结构型设计模式之装饰者模式

装饰者模式顾名思义就是在一个类对象的基础上再包装一层,使得这个类的功能得以扩展,符合了设计原则中的禁止修改,提倡扩展的开闭原则。说到给类扩展其功能,可能大家也会想到代理模式,代理模式是关注在控制对对象的访问的,而装饰者模式可以动态地给类对象添加若干个功能,装饰者模式能分离出装饰者对于被装饰者的业务...

2019-07-05 15:57:50

阅读数 8

评论数 0

原创 Java创建型设计模式之简单工厂,工厂方法,抽象工厂

在Java的23中设计模式中,其中有创建型的一类创建模式,通常用来抽象封装创建对象来使用的,这一类创建模式是使得客户端调用者不用关心对象是如何创建,统统交给一个叫做“工厂”的对象来创建对应的对象。这样就能做到客户端不与想要创建的对象紧密地耦合,降低耦合度。 1.简单工厂 简单工厂具体来并不...

2019-07-01 21:55:18

阅读数 110

评论数 0

原创 spring security执行原理流程

1.基本配置使用 (1)创建配置类 创建一个配置类SecurityConfig继承自WebSecurityConfigurerAdapter,重写里面的configure(HttpSecurity http)这个方法,配置好需要认证的登录url,以及提交表单的url,这里除了登录url不需要认...

2019-06-18 11:40:19

阅读数 1979

评论数 3

原创 FastDFS搭建文件服务器

一.为什么需要文件服务器? 在我们的项目中,文件上传下载(其中包括图片)是经常需要我们去开发的,我们可以根据前端传过来的文件保存到本地服务器中,但是这会导致两个问题,其一,当系统发展到后面,逐渐的单一的服务器支撑不了巨大的访问量,我们就会采用集群分布式的架构方式去搭建我们的服务器环境,当使用这种...

2019-05-27 00:03:39

阅读数 14

评论数 0

原创 基于JWT的Token认证机制实现

在日常的开发中,常见的认证机制有几种,其中使用token是目前前后端分离项目最受欢迎的一种认证手段。token字面意思为令牌(一串字符串),目的就是客户端在访问服务器时要带上这个令牌,服务器然后去根据这个令牌进行认证是否允许你去访问。这个过程中,服务器时完全没有存储任何关于认证的信息的,因此使用t...

2019-05-12 00:16:56

阅读数 67

评论数 0

原创 Idea搭建SpringCloud(四)------利用Feign实现负载均衡

为什么会出现Feign?负载均衡之前不是有Ribbon了吗? 我们之前实现的负载均衡是使用的Ribbon+RestTemplate,在controller中使用RestTemplate根据url去访问服务提供者,而通常我们是在controller中调用我们声明好的service实例去调用我们的逻...

2019-04-26 23:56:14

阅读数 138

评论数 0

原创 Idea搭建SpringCloud(三)------Ribbon实现负载均衡及其自定义算法策略

SpringCloud中提供了一个组件Ribbon,Spring Cloud Ribbon是一个基于Http和TCP的客服端负载均衡工具,它是基于Netflix Ribbon实现的。 对于SpringCloud来说为什么要实现负载均衡?负载均衡对于集群或者是分布式来说都是一种常见的手段用于减轻服...

2019-03-16 17:16:42

阅读数 183

评论数 0

原创 Springcould(二)之搭建服务注册中心Eureka集群

为了实现服务注册中心Eureka的高可用,我们通常会把Eureka搭建成一个集群,这样,当一台Eureka宕机后会使得注册进它里面的服务提供者都能正常被访问到,从而实现高可用。 上一篇文章中讲述了搭建一个单机版的Eureka,继续上一篇中的工程,新建两个module,eureka-server-...

2019-03-14 23:50:09

阅读数 68

评论数 0

原创 Idea搭建springcloud(一)---服务注册与发现之Eureka

对于一个springcloud项目来说,首先第一步就是要构建服务注册中心,什么是服务注册中心?形象地说就是每一个微服务都要先到这里注册,表明自己是一个微服务才能让springcloud给你暴露出去。springcloud已经给出了微服务架构搭建的所有组件,其中Eureka就是在springclou...

2019-03-12 23:48:37

阅读数 508

评论数 0

原创 Java并发编程之安全发布对象的四种方法

安全发布对象的四种方法 (1).在静态初始化函数中初始化一个对象的引用 (2).讲对象的引用保存到volatile类型域或者AtomicReference对象中 (3).讲对象的引用保存到某个正确构造对象的final类型域 (4).讲对象的引用保存到一个由锁保护的域中 下面的写法分别...

2019-03-03 18:00:44

阅读数 48

评论数 0

原创 Java并发编程之线程安全性

线程安全性: 当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些进程将如何交替执行,并且在主调代码中不需要额外的同步或协同,这个类都能表现出正确的行为,那么就称为这个类是线程安全的。 线程安全主要体现在以下三个方面: 原子性:提供了互斥访问,同一时刻只能有一个线程对它进行操作...

2019-03-01 20:06:12

阅读数 25

评论数 0

原创 idea开发springboot的一些小干货

一.使用lombok插件 在平时的代码编写中,我们要编写很多javabean,pojo等等的对象类,而且还要对各种属性生成各种的setxxx,getxxx,tostring,hashcode,equal等方法,这些都是一些规定死的模板方法,或者你可能会说我用idea自动帮我生成的,但是这样也会使...

2019-02-15 13:10:45

阅读数 25

评论数 0

原创 权限管理框架之Shiro

一.Shiro认证 1.ShiroFilter ShiroFilter顾名思义就是Shiro的过滤器,它可以把在我们进行访问的url进行一个有无认证的过滤,比如说一些需要登录后才能进行访问的页面。 在我们的Shiro和Spring整合了之后,我们要配置ShiroFilter就需要在sprin...

2019-02-10 14:43:57

阅读数 58

评论数 0

原创 springboot自动配置的原理

根据网上的一些资料去做一下springboot的自动配置的原理,网上跟踪的是1.5.10的源码,然而我发现自己创建的项目时2.1.1的源码,一开始还找不到,看了一下发现出来了...   在springboot启动(main方法)的时候会加载主配置类,里面开启了自动配置功能: @EnableAu...

2018-12-12 18:27:55

阅读数 77

评论数 0

原创 MyBatis中association,collection多表查询(resultMap高级映射)笔录

在我们使用mybatis去实现多表查询的时候必不可少的要使用映射关系resultMap 在多表查询中的一对多关系中,有两种场景,现在有两张表user表和department表,user为多,department为少,两表是一对多的关系 场景一:查询user表并且把每个user对象的depart...

2018-11-30 12:15:10

阅读数 576

评论数 0

原创 storm中分组策略Field Grouping简单总结笔记

刚遇到storm分组策略中的Field Grouping,费解了一些时间,简单做下笔记。 首先先讲下storm的元件组成吧,避免以后连基本的一个storm应用程序的流程都忘记了。 一.主要组件:tuple,stream,spout,bolt,topology tuple(元组):元组(Tup...

2018-11-23 18:38:00

阅读数 80

评论数 0

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