自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

松花江畔

与其夸夸其谈,不如静下心来

  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 SpringBoot 2.x系列教程20-集成jwt

目前的开发模式绝大部分场景是前后端分离的分工开发模式,前端工程师只负责前端页面的开发,后端工程师负责实现相应的业务逻辑,两者之间约定一套对外的api接口格式。在这样的开发模式下,对不同接口的权限校验必定不能缺少,目前针对前后端鉴权的实现机制主要有两种主流的实现方式,基于jwt的实现方案和oauth2的实现方案,两者实现的细节不同,但实现的思想大同小异。下面针对jwt的实现机制展开讲解。jwt机制的实现原理jwt(JSON Web Token), 为了在网络应用环境间传递声明而执行的一种基于 JSON

2021-10-13 16:09:58 313

原创 SpringBoot2.x系列教程19-SpringCloud组件-Hystrix

什么是HystrixHystrix是一个用于处理分布式系统的延迟和容错系统的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出现问题的情况下,不会导致整体服务失败,避免级联故障,从而提高分布式系统的弹性。“断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常,这样就保证了服务调用方的线程不会被长

2021-09-14 15:34:48 292

原创 SpringBoot2.x系列教程18-SpringCloud组件-Zuul

什么是Zuulzuul 是springcloud大家族的一员悍将,担负的责任有点类似于足球场上的守门员,不过跟足球场上的守门员所不同的是,zuul的职责不是拦截对方射过来的球,而是对客户端的请求正式进入对应的处理器之前做一些响应的处理,或者引导到正确的处理器上,总体而言zuul的核心是一系列的过滤器,实现的功能有:身份认证与安全、审查与监控、动态路由、压力测试、负载分配、静态响应处理、多区域弹性。zuul相关注解@EnableZuulProxy可以认为是@EnableZuulServer的增强版,当

2021-09-13 15:39:40 521

原创 SpringBoot2.x系列教程17-SpringCloud组件-Ribbon

springcloud ribbon是一个基于HTTP和TCP的客户端工具,是在Netflix Ribbon的基础上通过springcloud的封装,就可以让我们轻松的将面向服务的REST模板请求自动转化为客户端的负载均衡的服务调用,提供了连接超时、重试、等功能。ribbon虽然不向服务注册中心、配置中心、服务网关那些需要独立部署,但是针对springcloud搭建的微服务而言,服务之间的相互调用是都是通过ribbon来实现的,后续的Feign和Open Feign虽然功能是都是一样的,但是后面两者的功能都

2021-09-03 17:20:38 469

原创 SpringBoot2.x系列教程16-SpringCloud组件-Eureka02

之前的文章的讲解中已经初步实现了基于Eureka服务的注册和发现,虽然最后想要的效果已经实现了,但是实际的运用过程中注册中心一般必须具备高可用的特性,否则一旦注册中心挂了,整个系统就会崩溃掉,接下来我们会在第一部分的基础上搭建一个高可用的Eureka注册中心.Eureka-server集群的搭建依次创建三个基于springboot的springcloud工程,分别命名为springcloud_eureka_server01、springcloud_eureka_server02、springcloud_

2021-09-03 14:53:20 140

原创 SpringBoot2.x系列教程15-springboot集成PageHelper实现分页

分页功能是很多系统开发过程中数据展示不可缺少的重要功能,可以用刚需、高频来说明,之前PageHelper没开源之前,针对分页功能可能大家的实现方式各有不同,总体而言繁琐、杂论没有标准, 针对小白人员不是很友好,下面我们将从实战的案例出发借助PageHelper彻底拿下分页功能。功能实现1、依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehel

2021-08-27 15:27:45 223

原创 SpringBoot2.x系列教程14-SpringCloud组件-Eureka01

Eureka在微服务中充当的作用是服务的发现和注册,根据充当的功能角色的不同,Eureka可分为Eureka Server和Eureka Client,Eureka Server的作用是充当系统的服务注册中心,集群方式部署的时候本身既是一个注册中心又是一个服务的提供者;Eureka Client是一个服务的提供者,所起的作用将自身提供的服务注册到注册中心中供其他的服务调用,围绕着Eureka的作用将从下面的几个部分展开讲解。单机版本Eureka Server及Eureka Client接下来开始针对单机

2021-08-27 14:45:06 119

原创 SpringBoot2.x系列教程13-微服务概念初探

针对springboot相关的文章讲解暂时告一个段落,后续根据情况可能会有补充,接下来将针对springcloud微服务相关的知识展开讲解,初步的目标是围绕着:服务注册及发现、断路器、智能路由、微代理、控制总线、配置管理、全局锁、决策竞选、分布式回话、集群管理这些知识点展开,接下来将针对这些微服务相关的概念展开讲解。什么是微服务?微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务间采用轻量级的通信机

2021-08-17 16:42:41 274

原创 SpringBoot2.x系列教程12-springboot集成spring security

随着行业的不断发展,前后端分离开发的模式也在不断的得到程序员群体的欢迎,简单而言前后端分离开发的模式将后端程序员从前端的苦海中解脱了出来,使其能够专注后端的逻辑业务开发,前端工程师只负责页面的实现,调用后端工程师实现的接口实现页面数据的填充,这样的实现方式相对于以往的开发模式很明显提高了开发的效率,与此同时也带来了接口访问安全性的问题,由此也就出现了接口的权限鉴权管控机制。目前比较常用的鉴权机制框架有shiro、spring security,之前在springboot没有出现之前由于spring secu

2021-08-10 16:29:18 302

原创 SpringBoot2.x系列教程11-springboot集成定时任务

定时任务模块可能也是大部分的系统不可获取的一个功能模块,定时任务顾名思义就是按照一定的时间规则重复的去执行某项特定的任务,从而实现我们系统的某种实际的需求。那么定时任务在springboot框架中该如何实现呢?下面我们将就springboot集成定时任务这一知识点展开讲解。定时任务的几种实现方式1、TimerTimer是java自带的java.util.Timer类,使用这个类可以允许调用一个java.util.TimerTask任务,且只能按照一个指定的频率进行调用,不能在指定的时间内运行,在实际的

2021-08-09 11:30:17 374

原创 SpringBoot2.x系列教程10-springboot集成事务

在程序开发的过程中,我们一般会碰到这样的场景:在一个功能实现的过程中可能需要调用多个服务类来操作数据库,这其中既有插入的操作,又有更新的操作,一般出于最后数据库结果的准确性,我们会在这段代码的方法之前加一个事物的注解,或者将这段代码所在的包纳入注解扫描的范围内,从而实现程序由于各种各样的原因导致奔溃也不会造成数据的不准确性。什么是事务?事物是指程序中一系列严密的逻辑操作,而且所有的操作必须全部成功完成,否则在每个操作中所有的更改都会被撤销,通俗而言就是所有的操作要么成功,要么不成功,没有其他的情况。

2021-08-04 16:48:29 293

原创 SpringBoot2.x系列教程09-springboot集成过滤器和拦截器02

在上一篇文章中已经总结了springboot如何集成过滤器和拦截器,但只是纯粹的讲了下如何集成,并没有就如何实战展开讲解, 老话说的好,光知道点理论的皮毛是远远不够的,是骡子是马还是必须拉出来溜溜,那么接下来将针对过滤器和拦截器讲述一些实际运用的案例。过滤器(Filter)实战1、url访问权限管控public class UrlWhiteListFilter implements Filter { private static final String responseMessage =

2021-08-03 17:01:13 105

原创 SpringBoot2.x系列教程08-springboot集成过滤器和拦截器01

过滤器和拦截器首先从概念上来讲是两个不同的东西,过滤器(Filter)依赖于Servlet容器,属于Servlet规范的一部分,而拦截器是独立存在的,可以在任何的情况下使用;除此之外过滤器和拦截器还有以下等几点区别。1、过滤器和拦截器触发的时机不一样,过滤器是请求进入容器后,但请求进入servlet之前进行预处理的,请求借宿返回也是在servlet处理后,返回前端之前。2、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,因为拦截器是spring提供并管理的,spring的功能可以被拦截器使用,

2021-08-02 19:38:44 113

原创 SpringBoot2.x系列教程07-springboot集成日志模块

日志模块作为一个系统的重要组成部分,似乎其重要性并没有在开发人员的心中引起足够的重视,其实如果抛开其业务模块相关的内容,单纯的就系统架构设计的方面来看,系统的日志模块还是十分重要的,一个好的日志模块的设计不仅能够帮助我们检测程序的执行的状态、系统的的负载情况、更能实时监控系统的运行情况。从这一点而言,如果一个系统设计的时候没有将日志模块摆在重要的位置上,那么这个系统肯定不能称之为一个健壮的系统。日志的技术选型目前常用的日志框架大概有下面的几种:log4j、JUI(Java Util Logging)、

2021-08-02 14:34:21 312 1

原创 SpringBoot2.x系列教程06-springboot集成Redis

针对目前绝大部分的服务端系统而言,处于系统性能的考虑,或多或少的都会涉及到缓存相关的知识,那既然说到缓存肯定不能缺少Redis,作为缓存的top选手,Redis一经开源便风光无限, 下面将针对springboot整合Redis展开讲解。配置文件# 集成Redisspring.redis.host=127.0.0.1spring.redis.port=6379#spring.redis.password=spring.redis.jedis.pool.max-idle=100spring.red

2021-07-30 17:09:30 136

原创 SpringBoot2.x系列教程05-springboot统一响应格式、全局异常处理

在前后端分离的大趋势下, 服务端如何制定一套行至有效的规则供前端开发使用,显得尤为的重要,既然是前后端分离,那么服务端的架构设计必须满足下面的几个点:首先响应的格式必须统一,其次针对异常能够做到全局响应。下面将针对这个目标来展开讲解。统一响应类的设计要想实现针对前端的统一格式响应,就必然需要将最终的结果包装到制定的响应类里,一个好的统一响应类的设计需要具备下面的几个要素:第一包含响应的编码;第二包含响应的信息;第三包含响应的数据;第四设计到的相关的响应码全部以枚举类的形式包含在一个枚举类中1、枚举类

2021-07-29 14:13:23 363

原创 SpringBoot2.x系列教程04-springboot整合esayexcel

SpringBoot整合EasyExcel实战教程对于绝大部分的管理系统而言,数据的相关操作是不必可少的一个重要的操作功能,绝大部分的情形下,数据操作的功能主要集中在线上,但也有的时候也需要讲线上的数据下载下来用作其他的用途,在这样的情形下,excel相关的报表功能必不可少,基于这样的情况,十分有必要攻克报表相关的数据交互功能,下面主要讲解结合EasyExcel实现Excel的上传、下载功能。maven依赖 <dependency> <groupId>org.

2021-03-25 10:48:21 308 1

原创 SpringBoot2.x系列教程03-springboot整合JSP

springboot整合jsp实战教程在早些年的时候,前后端分离开发还没有大范围流行的时候,常常是后端程序员一手包办前后台开发的工作,在采取这样开发模式的项目中,一般都会采用jsp作为显示页面的模板,以来是应为jsp本身既能写HTML代码,又能在其中写逻辑代码的交互,在这样优势的前提下,jsp一度成为前后端开发没有分离时页面展示层的香饽饽。虽然随着时代的发展,现在前后端已经广泛采用前后端开发的模式,但是jsp还是需要广大后端研发工程师需要掌握的一们模板语言,虽然可能不用,但是却不能不掌握,就像原子弹、氢弹

2021-03-12 15:28:11 263

原创 SpringBoot2.x系列教程02-springboot整合Mybatis

springboot 整合Mybatis实战教程但凡是搞Java开发的,现在应该基本上离不开使用springboot框架,使用框架的过程中肯定离不开操作数据库,目前国内主流的orm框架在Java生态圈中肯定首推Mybatis,虽然网上相关的整合教程还是非常多的,但是爹有娘有到最后还不如自己有,纸上谈兵谁都会,但是在作为一名编程人员,首先必须展示自己的代码,废话不多说,下面展示一个完整的整合案例,包括crud的完整操作,掌握明白应该可以应付公司的基本业务开发了,因此如果还打算在这个领域混,这个案例请必须掌握

2021-03-09 18:54:26 175 1

原创 SpringBoot2.x系列教程01-入门案例

接触SpringBoot也已经有一段时间了,虽然平时开发的时候用的非常的多,但总是没有进行系统的总结,刚好趁这段时间进行系统的总结,既是对自己技术的一种巩固,也希望能帮助有需要的人。springBoot入门案例pom.xml文件配置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta.

2020-07-06 18:18:40 239

原创 Java实战-文件的动态读写

这里主要记录下自己在开发的过程中遇到需要手动清洗生产数据库脏数据的解决方法,由于数据量较大,不可能手动去查找,只能先找出相关的脏数据,然后更正。解决的过程步骤一:数据库中清洗出相关的规则数据,写入txt文件中步骤二:读取步骤一txt文件中的数据步骤三:将步骤二读取的txt文件进行筛选步骤四:讲脏数据写入另一个txt文件中主要代码//数据清洗 StringBuffer sb =...

2020-01-08 21:25:43 667

原创 Mybatis实战-各种干货分享

工作以来有感于现在企业的持久层框架基本上会选择mybatis来进行数据库操作,因此在这里总结下mybatis的常用的方法,下面的这篇文章将会就开发中常用的mybaits操作数据库的相关技巧性知识进行总结,不说总结的百分之百吧,基本上开发过程涉及到mybaits操作数据库方面的知识应该都会总结到,对于简单的基本上不会讲解过多,希望能帮助到有需要的人。Mybatis的常用的配置通常呢,绝大部分...

2019-12-28 21:39:16 135

原创 大数据实战05-hive入门及相关实践

在开始学习hive之前我们首先必须弄清楚以下的这些问题,学习任何新的知识首先必须明白该技术产生的背景,该技术的主要的用途。hive是什么hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapRe...

2019-12-15 22:14:46 147

原创 大数据实战04-Java操作hadoop的常用的API

在前面的文章中介绍了在windows环境中开发hadoop的入门程序,并实现了在windows环境中连接虚拟机来模拟真实的远程连接的情况,接下来通过同样的连接方式来讲解hadoop的常用api的使用的方式hadoop的使用方式package com.kkcl.hadoop;import org.apache.hadoop.conf.Configuration;import org.a...

2019-11-18 21:07:20 369

原创 大数据实战03-hadoop命令学习及入门案例

在按照01和02的实战教程的讲解之后,我们已经搭建好了基本hadoop的开发环境,接下来开始讲解hadoop的相关的命令及入门案例。hadoop的基本命令hadoop的基本命令的格式为:hadoop fs -xxx /aaa/bbb/...常见的相关的命令hadoop fs -ls / #列出跟目录下的所有的文件hadoop fs -put /aaa/bbb/... ...

2019-11-03 15:46:22 233

原创 大数据实战02-hadoop单机版环境的搭建

在按照上篇博文配置好静态ip之后,我们进行大数据学习的基础环境之一也就基本搭建成功了一小部分,接下我们将从头开始搭建hadoop的单机版环境,并讲解相关的hadoop中的api单机环境搭建1、在创建单机版的环境的过程中,最好创建一个新的虚拟机用户,root登录useradd hadoop #创建hadoop用户passwd hadoop #设置hadoop用户的密码2、修改用...

2019-11-03 15:25:49 205

原创 大数据实战01-配置虚拟机的静态ip并以NAT的方式通信

最近个人的学习重心迁移到大数据相关的领域了,针对大数据相关的实践知识将会在后续的学习中记录下来。在这篇博文中,将以图文的形式呈现出虚拟机以静态ip并以NAT的方式通外界通信的全过程。搭建环境虚拟机为VMware15Linux版本为centOS7虚拟机三种网络模式的理解Bridged(桥接模式)NAT(网络地址转换模式)Host-Only(仅主机模式)桥接模式就是将主机网...

2019-10-20 19:45:24 194

原创 shiro实战02-ssm整合shiro开发

这篇教程将从ssm整合shiro的方式出发,以实战的角度快速的搭建起整个工程的框架,因此重点在与怎么整合shiro,至于逻辑代码不是这篇教程的重点。工程架构相关依赖<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <...

2019-09-21 14:49:30 115

原创 shiro实战01-入门案例

shiro在以前的项目中也使用过,一直没有系统的总结过,这段时间打算好好的总结下shiro相关的知识,同时也夯实下shiro相关的知识。什么是shiroApache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。shiro的...

2019-09-18 21:43:57 139

原创 IDEA不输出log4j日志

在实际的开发过程中,控制台中打印的日志对我们解决开发中遇到的问题是十分重要的,它不仅可以反应程序运行到那个阶段,出错时同时也可以定位到具体的代码区域。log4j.properties配置内容## 设置###log4j.rootLogger = DEBUG,stdout,C,D,E### 输出信息到控制抬 ###log4j.appender.stdout = org.apache...

2019-09-14 22:18:38 11215 3

原创 dubbo实战02-springboot整合dubbo

准备工作在准备整合springboot与dubbo之前,我们需要做好以下的准备工作:1、选定整合的springboot、dubbo版本2、选定zookeeper的版本不同的版本springboot版本对应不同的dubbo版本,具体的详见版本配置规则工程架构dubbo-springboot |dubbo-springboot-api |src |main ...

2019-09-07 14:59:31 450

原创 dubbo实战01-入门案例

学习一门新技术的时候,我们不仅要学会怎样运用这门技术,同时还必须明白这项技术是为了解决什么样的问题而产生的,真正做到知其然并知其所以然。dubbo 是什么Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成。dubbo的作用Dubbo是一款高性能、轻量级的开源Java RPC框架,它提...

2019-09-01 11:28:18 253

原创 从实战的角度重学Java01-枚举类的使用

接触一门编程语言时间越长,愈会发现有时候自己掌握的东西是真的少,平时的工作基本上被无穷无尽的crud所充满,基本的却不求甚解,编程的实力如同空中楼阁,脱离框架,基本上什么也不会。什么是枚举枚举类型本质上就是一个类,其继承自java.lang.Enum类枚举常用方式//不是key-value型的方式public enum YesOrNo { YES(1), ...

2019-08-21 22:13:34 266

原创 zookeeper实战05-zookeeper客户端Curator的使用

zookeeper 的客户端目前主要有三种,一种是原生的方式来操作来操作zookeeper(zookeeper实战04-Java操作zookeeper)、第二种采用开源的zkclient、第三种及本篇所讲的apache官方开源的Curator.Curator的优点1、封装ZooKeeper client与ZooKeeper server之间的连接处理2、提供了一套Fluent风格的操...

2019-08-17 16:39:29 198

原创 zookeeper实战04-Java操作zookeeper

基本的测试zookeeper连接案列import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.ZooKeeper;import org.slf4j.Logger;import org.slf4j.LoggerFactory;...

2019-08-11 16:19:21 167

原创 zookeeper实战03-客户端连接服务端时Session超时

实战碰到的问题这段时间在进行zookeeper学习的过程中碰到一个有趣的问题:[org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1112)] - [WARN] Client session timed out, have not heard from server in 15545ms for sessioni...

2019-08-04 22:34:20 19098 2

原创 zookeeper实战02-单机伪分布式集群的搭建

本篇教程将从实战的角度出发,在单台机器上借助虚拟机实现分布式的环境,那么什么称之为伪分布式环境呢?所谓的伪分布式就是在一台机器上实现了多台机器上实现的效果。搭建环境VMware WorkStation Pro + CentOS7 + Zookeeper3.4.13搭建步骤1、将zookeeper解压后的文件夹上传到指定的目录下,例如/usr/local/2、将zookeeper...

2019-08-01 22:05:56 115

原创 zookeeper实战01-开发环境搭建

zookeeper是什么ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。zookeeper应用场景zookeeper的应用场景主要分为以下这些部分:数据分布与订阅、分布式应用配置项、分布式计数器、统一命名服务、状态同步服务、集群管理、Master选举、分布式锁、定时...

2019-07-27 19:18:30 148

原创 springboot 2.x 版本能够进入Controller层不能返回到指定页面的常见原因的总结

 首先请让我隆重的在此感谢springboot 在2019年送给我的新年第一个bug,2019撸起袖子加油干!!!问题描述:404 not found第一步:检查自己的启动类是否是在其他包的父包与子包中第二步:观察自己的pom文件是否正确第三部:观察自己的注解@Controller 和@RestController 是否使用正确重点划红线------------------...

2019-02-03 19:56:38 2039

原创 Word转Pdf(三行代码搞定)

其实真的很简单,今天突然小伙伴向我抱怨word转pdf超过一页要收费,问我怎么办?收费,不可能的。loading.....OK! 第一步找jar包:words.jar(貌似收费,不过在我TC,收费不存在的!!!) 第二部贴代码: import com.aspose.words.Document;import java.io.File;publi...

2018-09-16 22:20:58 13392 29

非常好用的一个ace前端框架

适合从事后台开发的人员的一款开发工具,能够弥补不太擅长前端的短处,后台开发人员的福音

2017-12-06

空空如也

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

TA关注的人

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