自定义博客皮肤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)
  • 资源 (5)
  • 论坛 (1)

原创 用java五分钟 pdf转word 轻松搞定

最近家人有个pdf 文档需要转成word ,我觉得很轻松就在网上搜索工具,竟然没有找到好用的工具,有几个像样的竟然需要银子??pdf转换这么难吗?为什么需要花钱才能解决?强大的java,好用的apache 工具系列解决不了么?所以决定研究一下。首先找到了apache pdf 解析的依赖包:<dependency> <groupId>o...

2020-08-28 11:05:09 5525 10

原创 Spring boot 入门教程-自定义注解

1.定义注解接口@Documented@Retention(RUNTIME)@Target(METHOD)public @interface MyLog { String value() default "";}@Target(ElementType.TYPE)//接口、类、枚举、注解@Target(ElementType.FIELD)//字段、枚举的常量@Target(ElementType.METHOD)//方法@Target(ElementT...

2020-07-29 15:19:49 68

转载 Spring Boot 核心的 25 个注解

1、@SpringBootApplication这是 Spring Boot 最最最核心的注解,用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。其实这个注解就是@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan这三个注解的组合,也可以用这三个注解来代替@SpringBootApplication注解。2、@EnableAuto...

2020-07-29 13:30:23 53

转载 三分钟搞懂 MySQL 隔离级别

三种bug:脏读:例:insert into T values (4, '牛D');,然后没commit。其他进程SELECT读取到的数据是未commit的数据。(数据库只修改了内存没修改外存)不可重复读:例:一个事务范围内两个相同的查询却返回了不同数据(因为中间有进程修改了值并且提交成功)幻读:例:某个事务在读取某个范围的数据,但是另一个事务又向这个范围的数据去插入数据,导致多次读取的时候,数据的行数不一致。READ UNCIMMITTED(未提交读) 在这种隔

2020-06-28 15:08:02 97

原创 面试官:请谈谈数据库的优化

一:简介MySQL性能优化是通过优化各个方面的,不仅仅是优化SQL语句这一方面,而是通过各各方面的优化,每个地方优化一些,这样整体性能就会有明显的提升。二:优化方式1. 优化数据库表结构的设计为什么数据库表的设计会影响性能?字段的数据类型:不同的数据类型的存储和检索方式不同,对应的性能也不同,所以说要合理的选用字段的数据类型。比如人的年龄用无符号的unsigned tinyint即可,没必要用integer数据类型的长度:数据库最终要写到磁盘上,所以字段的长度也会影响着磁盘的I/O操..

2020-06-28 14:19:17 122

原创 分布式事务常用解决方案

常见解决方案分布式事物解决方案可以使用全局事物2pc(两段提交协议)、3pc(三段提交协议),tcc补偿机制、提供回滚接口、分布式数据库 LCN 核心采用3PC+TCC补偿机制什么是XA接口XA–eXtended Architecture 在事务中意为分布式事务XA由协调者(coordinator,一般为transaction manager)和参与者(participa...

2020-04-16 17:44:22 135

原创 windows7 本地搭建ELK 收集项目运行日志

ELK简介ELK是Elasticsearch+Logstash+Kibana简称Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在是使用最广的开源搜索引擎之一。Logstash 简单来说就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输...

2020-04-01 16:50:36 239

原创 Spring Cloud 分布式事务详解及LCN解决方案

在微服务如火如荼的情况下,越来越多的项目开始尝试改造成微服务架构,微服务即带来了项目开发的方便性,又提高了运维难度以及网络不可靠的概率.在说微服务的优缺点时,有对比才会更加明显,首先说一下单体式结构单体式架构在单体式架构中,系统通常采用分层架构模式(MVC),持久化层、表示层,业务逻辑层。架构主要存在以下问题:系统内部互相访问,耦合紧密导致难以维护; 各业务领域需要采用相同的技术...

2020-01-10 17:41:15 331

原创 ftp命令解决文件的上传和下载

Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹。虽然现在有很多ftp桌面应用(例如:FlashFXP),但是在服务器、SSH、远程会话中掌握命令行ftp的使用还是很有必要的。1.ftp命令  使用格式:ftp [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-w:windowsize] [computer...

2019-10-25 15:39:06 125

转载 缓存穿透、缓存击穿、缓存雪崩区别和解决方案

一、缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导...

2019-10-18 16:47:49 126

原创 十分钟弄懂SQL 索引及优化

索引概念和作用索引是一种使记录有序化的技术,它可以指定按某列/某几列预先排序,从而大大提高查询速度(类似于汉语词典中按照拼音或者笔画查找)。索引的主要作用是加快数据查找速度,提高数据库的性能。MySQL 索引类型从物理存储角度上,索引可以分为聚集索引和非聚集索引。1.聚集索引(Clustered Index)聚集索引决定数据在磁盘上的物理排序,一个表只能有一个聚集索...

2019-10-18 11:12:06 925

原创 十分钟弄懂 java 中==、equals、hashCode 的区别

先来个总结:==运算符是判断两个对象是不是同一个对象,即他们的地址是否相等 object类中equals与==是等效的 覆写equals更多的是追求两个对象在逻辑上的相等,你可以说是值相等,也可说是内容相等。(覆盖以后,覆盖equals时总要覆盖hashCode ) hashCode用于返回对象的hash值,主要用于查找的快捷性,因为hashCode也是在Object对象中就有的,所以所...

2019-10-14 16:34:49 77

转载 Redis 持久化机制

Redis支持两种方式的持久化,一种是RDB方式,一种是AOF方式。可以单独使用其中一种或将二者结合使用。一、RDBRDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的所有数据进行快照并存储在硬盘上。进行快照的条件可以由用户在配置文件中自定义,由两个参数构成:时间和改动的键的个数。当在指定的时间内被更改的键的个数大于指定的数值时就会进...

2019-10-09 22:53:03 94

原创 centos 7如何优雅的安装mysql 5.7

1、进入官网下载 需要的mysql 版本https://dev.mysql.com/downloads/mysql/我这边下的是mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz2、将mysql安装到/usr/local/mysql下# 解压tar -zxvfmysql-5.7.22-linux-glibc2.12-x86_6...

2019-10-09 09:48:28 32

原创 将外部 jar 安装到本地仓库 使用maven

mvn install:install-file -Dfile=C:\\Users\\admin\Desktop\\lib\\xxx-api-1.0.0.39.jar -DgroupId=com.other.dsp -DartifactId=dsp -Dversion=1.0.0 -Dpackaging=jar-Dfile:文件在本地的存放位置-DgroupId:<groupI...

2019-08-23 19:20:57 144

原创 Spring Boot 文件通过zip压缩包 批量下载

最近项目中新增了一个需求:要求批量下载之前信息导出的word 文件,也就是批量下载。数据是保存在ES 中,导出word 的功能也是写好的。我的思路:传入数据ID分别导出word 文件到服务器某个文件夹。 根据文件地址将所有文件打包成zip文件到服务器某个地址 根据zip文件地址进行下载存在问题:批量导出word 文档,由于数据量大可能会非常耗时。解决:采用的异步方式分...

2019-06-05 11:18:43 5629 2

原创 Spring boot 入门教程-CORS 跨域支持

CORS(Cross-Origin Resource Sharing)”跨域资源共享”,是一个W3C标准,它允许浏览器向跨域服务器发送Ajax请求,打破了Ajax只能访问本站内的资源限制。我们在开发中都会遇到前端请求后台服务器出现跨域错误,下面就讲一下如何让SpringBoot项目支持CORS跨域。第一步 搭建SpringBoot项目,Spring 4.2提供了@CrossOrigion注解实...

2019-05-13 16:14:02 137

原创 SpringBoot 事务注解@Transactional

SpringBoot提供了非常方便的事务操作,通过注解就可以实现事务的回滚,非常方便快捷,下面我们就说一下如何进行事务操作。1. 事务说明在Spring中,事务有两种实现方式,分别是编程式事务管理和声明式事务管理两种方式。编程式事务管理: 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,...

2019-04-25 13:47:09 13274

原创 Spring boot 入门教程-集成Mybatis-Plus

简介MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。愿景我们的愿景是成为 MyBatis 最好的搭档,就像魂斗罗中的 1P、2P,基友搭配,效率翻倍。#特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本...

2019-04-15 10:57:08 1049

转载 Maven scope 属性介绍

scope的属性详解:1.compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。2.test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit。3.runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要...

2019-04-03 17:18:21 127

原创 使用POI 导出word模板文件

maven依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version></dependency>自定义XWPFDocu...

2019-03-21 11:29:32 1254 9

原创 CentOS7 安装node.js

一、切换目录到/usr/local/src    命令行:cd/usr/local/src二、下载node.js(我这里下载的是二进制的源码)  命令行:wget https://nodejs.org/dist/latest-v10.x/node-v10.15.2-linux-x64.tar.gz三、解压压缩包  命令行:tar -zxvf node-v10.1...

2019-03-05 15:30:17 642

原创 CentOS 7 设置开机启动

1、赋予脚本可执行权限(/opt/script/start.sh是你的脚本路径)chmod +x /opt/script/start.sh 2、打开/etc/rc.d/rc.local文件,在末尾增加如下内容/opt/script/start.sh 3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限chmod ...

2019-02-27 17:44:38 127

原创 使用jekins自动构建部署 Spring Boot 项目

公司一直在做项目,没有专门的运维,一个开发团队都是后端负责项目发布运维,打包测试发布都是手动的,对平时的开发,测试前后端配合也存在一定的弊端,本着提高效率,节省时间(偷懒)的想法决定研究下jenkins,如何使用jenkins 从svn 代码库 发布Spring Boot 项目。步骤:安装jenkins jenkins 配置及插件安装 创建项目安装jenkins准...

2019-02-27 11:22:37 3020 1

原创 学习SHELL这一篇就够了...

shell历史Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell...

2019-02-27 09:50:41 1207

原创 centos 7 免密登录

使用vm 安装了三台虚拟主机1、修改所有节点的 /etc/hosts/192.168.254.101 node01192.168.254.102 node02192.168.254.103 node032.在node01上生产一对钥匙(公钥和私钥)首先要在用户目录下,  ssh -keygen -t rsa , 接着会产生 .ssh目录 (连续点击Enter三次)进入 ...

2019-02-22 09:58:16 146

转载 mysql中union与union all的区别

UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1、UNION 的语法如下: [SQL 语句 1] UNION [SQL 语句 2]2、UNION ALL 的语法如下: [SQL 语句 1] UNION ALL [SQL 语句 2]效率:...

2019-02-12 14:18:03 106

原创 java elasticsearch api 本地连接线上集群 None of the configured nodes are available

项目开发告一段落,es 从公司内网正式转到线上集群,但是在本地测试总是连接不到线上的es 集群,但是打包发布后在线上服务器是正常的。曾经一度怀疑是代码的问题或是依赖报的问题,但是都我一一被否定。java api 连接es 一般代码都是这样的: Settings esSetting = Settings.builder() //集群名字 ...

2019-01-22 18:17:57 360

转载 PyCharm AttributeError: 'module' object has no attribute 'main'

原因新版pip中的main函数已经发生了变化,是pycharm的原因参考: PyCharm 2017.3 在pip10.0.0版本中报错(module ‘pip’ has no attribute ‘main’)解决方式一通过 pip 命令手动安装1方式二 根据报错提示中的路径    "/Applications/PyCharm.app/Contents/helper...

2019-01-03 17:43:20 1484 1

原创 Spring boot 入门教程-OAuth2.0使用JWT

前边有几篇文章介绍了oauth2.0 及与spring boot ,security 整合,这里在之前介绍的基础上添加 jwt(即JSON Web Token)。概念JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。因为数字签名的存在,...

2018-12-28 16:43:08 2252 1

原创 Spring boot+ Spring security 实现图片验证码验证

       最近一个项目做权限管理使用了 Spring boot+ Spring security +oauth2.0 ,但是产品设计登录界面时添加了 图片验证码功能,要知道 spring security 在登录时 只需要输入账号密码即可,所以刚开始为了方便在自定义的登录页面使用jQuery.submit()方法拦截了表单提交时间,在其中进行验证码的验证,但是测试人员测试后说存在暴力破解和...

2018-12-20 16:54:38 1554

原创 Spring boot 入门教程- 使用异步线程池

Spring 中存在一个 AsyncConfigurer 配置异步线程池的接口,源码如下:public interface AsyncConfigurer { @Nullable default Executor getAsyncExecutor() { return null; } @Nullable default AsyncUn...

2018-12-20 15:55:19 435

原创 Spring boot 实现验证码

1.controller层代码,获取验证码,以及生成验证码图片。  1.1返回页 @GetMapping("/img") public String image() { return "verify_code"; }1.2 html  <!DOCTYPE html><html lang="en"><head&..

2018-11-21 14:08:25 5074

原创 Spring Boot 2.0.0+ 版本使用拦截器

 配置拦截器也很简单,Spring 提供了基础类WebMvcConfigurerAdapter ,我们只需要重写 addInterceptors方法添加注册拦截器。实现自定义拦截器只需要3步:1、创建我们自己的拦截器类并实现 HandlerInterceptor 接口或继承HandlerInterceptorAdapter。2、创建一个Java类继承WebMvcConfigurerAdapt...

2018-11-14 18:20:08 1148

原创 Spring Cloud入门教程-微服务监控Spring Boot Admin

项目源码及相关说明请查看此文:Spring Cloud入门教程-简介Spring Boot Admin 用于管理和监控一个或多个Spring Boot程序,在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI,提供如下功能:显示 name/id 和版本号 显示在线状态 Logging 日志级别管理 JMX beans 管理 Threads 会话和线程...

2018-10-31 17:51:12 2196

原创 Spring Cloud入门教程-使用rabbitMQ传输链路数据,储存到MySQL

项目源码及相关说明请查看此文:Spring Cloud入门教程-简介建表CREATE TABLE IF NOT EXISTS zipkin_spans ( `trace_id_high` BIGINT NOT NULL DEFAULT 0 COMMENT 'If non zero, this means the trace uses 128 bit traceIds instead ...

2018-10-30 15:53:55 1168 1

原创 Spring Cloud入门教程-使用zipkin进行服务链路追踪

项目源码及相关说明请查看此文:Spring Cloud入门教程-简介一、zipkin是什么        zipkin是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。它的理论模型来自于Google Dapper 论文。        每个服务向zipkin报告计时数据,zipkin会...

2018-10-30 14:21:00 2350 2

原创 Spring Cloud入门教程-使用Spring Cloud Bus 刷新配置

项目源码及相关说明请查看此文:Spring Cloud入门教程-简介接上一篇文章,这里介绍一下,如何使用Bus 在不停机情况下,刷新配置。Spring Cloud Bus是用轻量的消息代理将分布式的节点连接起来,可以用于广播配置文件的更改或者服务的监控管理。一个关键的思想就是,消息总线可以为微服务做监控,也可以实现应用程序之间相互通信。 Spring Cloud Bus可选的消息代理线线泡...

2018-10-29 15:12:46 8242 2

原创 Spring Cloud入门教程-Config Server从github 远程读取配置文件

 项目源码及相关说明请查看此文:Spring Cloud入门教程-简介      接上一篇文章,这里记录一下Config Server从github 远程读取配置文件。        Spring cloud Config支持从远程Git仓库读取配置文件,即 Config Server可以不从本地的仓库读取,而是从远程Git仓库读取。这样做的好处就是将配置统一管理,并且可以通过 Sprin...

2018-10-29 14:37:12 4121 2

原创 Spring Cloud入门教程-配置中心 Config

注意:这里用到的项目都是在之前几篇文章讲解用到的项目工程基础上进行的,在这一系列博客写完后会提供源码地址。项目源码及相关说明请查看此文:Spring Cloud入门教程-简介这里讲解一下Spring Cloud Config 的内容。Config Server 从本地读取配置文件        Config Server可以从本地仓库读取配置文件,也可以从远处Git仓库读取。本地仓...

2018-10-29 12:24:05 304

Spring boot 入门高清视频教程(附源码,笔记)

Spring boot 入门高清视频教程(附源码,笔记),适合新手学习 !!

2018-06-01

Vue2.0 高清 基础视频教程 下载

Vue2.0 入门基础教程,包含模板解读,vue-router,vuex,及升级,适合Vue新手!!

2018-05-30

navicat for MySQL 免安装破解版 无需注册

navicat for MySQL 免安装破解版 无需注册 解压即可使用

2017-06-22

Ibatis/mybatis代码生成工具

ibatis 和 mybatis 的代码生成工具

2017-05-19

Spring与quartz整合实例

2017-04-18

spring boot 整合oauth2.0 请求oauth/authorize 报错

发表于 2018-09-06 最后回复 2018-12-19

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