自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 史上最全的Excel导入导出之easyexcel

文章目录环境搭建读取excel文件小于1000行数据默认读取指定读取大于1000行数据默认读取指定读取导出excle单个Sheet导出无模型映射导出模型映射导出多个Sheet导出环境搭建easyexcel 依赖(必须)springboot (不是必须)lombok (不是必须) <dependency> <groupId>com.alibaba</...

2019-04-04 17:56:55 251644 156

转载 Java 实体映射工具 MapStruct

参考

2020-03-30 17:27:21 342

原创 多线程基础概述(一)

计算机cpu,核心数,线程数之间的关系CPU:物理上真实存在,是一块芯片,相当于人体的大脑,是计算机处理逻辑的中枢核心数:物理上不存在,逻辑上存在,一块cpu可以分成多个核心数,一个核心数相当于一个人体的大脑,即核心相当于逻辑上的cpu线程数:逻辑上存在,在同一时刻,允许同时处理事情的件数,相当于人脑的一心多用原来的核心数与线程数的比例为1:1,但是随着超线程技术的兴起,现在技术可以实...

2020-01-10 00:08:40 377

原创 微服务通过feign.RequestInterceptor传递参数

Feign 支持请求拦截器,在发送请求前,可以对发送的模板进行操作,例如设置请求头等属性,自定请求拦截器需要实现 feign.RequestInterceptor 接口,该接口的方法 apply 有参数 template ,该参数类型为 RequestTemplate,我们可以根据实际情况对请求信息进行调整,示例如下:创建自定义请求拦截器,在发送请求前增加了一个请求头信息,进行身份校验。i...

2019-10-31 14:30:25 3702

原创 在GitHub 上下载指定的文件夹

概述你是否也经常会遇到这种情况呢?经常在Github上发现一些自己用得到的仓库,你可能会star或者folk。但是,经常你可能会有这样的需求:我们只希望从Git仓库里取指定的文件或者文件夹出来。在SVN里面,这非常容易实现,因为SVN基于文件方式存储,而Git却是基于元数据方式分布式存储文件信息的,它会在每一次Clone的时候将所有信息都取回到本地,即相当于在你的机器上生成一个克隆版的版本库。...

2019-10-30 11:18:24 604

转载 基于SpringBoot使用JWT实现Token认证

目录一、JWT的介绍1、什么是JWT2、、基于token的鉴权机制3、JWT的构成二、简单实战1、新建一个简...

2019-10-29 14:34:04 916

转载 TCP三次握手和四次握手

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-10-29 11:44:13 214

原创 Disconnected from the target VM, address: '127.0.0.1:62893', transport: 'socket'

报改错的原因有很多,例如没有添加注解@Service,idea和maven版本冲突等在这里我提供一个解决方案,在idea中报改错可能是端口占用,解决方案如下:1、查看端口号:netstat -ano | findstr “9090”2、杀死进程:taskkill -PID 15680 -F...

2019-08-30 11:18:04 25316

原创 利于iText实现html或者freemark等模板生成PDF

pdf:https://www.cnblogs.com/chenpi/p/5534595.htmlword:https://www.cnblogs.com/mini-firework/p/4934337.htmlhttps://www.cnblogs.com/zhongshiqiang/p/5764857.htmlhttps://zhidao.baidu.com/question/19503...

2019-04-25 15:09:01 1958

原创 使用Hibernate-Validator优雅的验证参数

文章目录背景校验步骤背景在开发中经常需要写一些字段校验的代码,比如字段非空,字段长度限制,邮箱格式验证等等,写这些与业务逻辑关系不大的代码个人感觉有两个麻烦:验证代码繁琐,重复劳动方法内代码显得冗长校验步骤添加 Hibernate-Validator 依赖,如果使用了springboot,则不需要引用任何依赖,因为spring-boot-starter-web包中已经包含了Hib...

2019-03-25 17:33:19 23939 4

原创 读weixin-java-tools源码获取的开发小技巧

文章目录成员变量中有集合对象时的快速封装方法成员变量中有集合对象时的快速封装方法基类对象如下@NoArgsConstructor@AllArgsConstructor@Datapublic class Student { private String name; private int age;}@NoArgsConstructor@AllArgsConst...

2019-03-15 10:57:07 231

原创 spring boot 精华

**一、**Spring Boot 入门1、Spring Boot 简介简化Spring应用开发的一个框架;整个Spring技术栈的一个大整合;J2EE开发的一站式解决方案;2、微服务2014,martin fowler微服务:架构风格(服务微化)一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;单体应用:ALL IN ONE微服务:每一个功能元素最终都是一个可独...

2019-03-06 00:31:13 722

原创 在线生成二维码的api接口

&lt;img width="150" height="150" src="http://qr.liantu.com/api.php?text=https://blog.youkuaiyun.com/qq_32258777" /&gt;替换红色字体(text=...的参数)的值为你要的网址url即可http://www.liantu.com/pingtai/...

2019-02-28 16:16:09 1326 1

原创 设计模式之工厂模式

文章目录工厂模式的应用场景未应用工厂模式工厂模式处理方案一工厂模式的应用场景需求场景: 现需计划开发一个支付功能模块,初步有微信支付与支付宝支付,但随着后续业务的发展,不排除有新的支付方式。未应用工厂模式思路:定义一个枚举类,1:微信支付; 2:支付宝支付定义一个通用接口,两个具体的实现类接口代码public interface PayService { publi...

2019-02-22 16:07:38 210

原创 SpringBoot 之 HelloWorld

文章目录简介优点步骤项目部署简介springboot并不是一个全新的框架,而是基于spring的拓展开发,遵循约定大于配置的规则,来简化 spring 的配置。优点快速创建独立运行的Spring项目以及主流框架集成使用嵌入式的Servlet容器,应用无需打成WAR包starters自动依赖与版本控制大量的自动配置,简化开发,也可修改默认值无需配置XML,无代码生成,开箱即用准生...

2019-02-18 00:15:02 162

原创 IDEA-Maven的Dependencies中出现红色波浪线

在IDEA环境中,在Maven Project中 Dependencies 出现红色波浪线,但是查询本地仓库中,资源文件是存在的。解决方法:移除相关依赖,再重新添加即可情况及具体解决方法如下:1.在Maven Project中 Dependencies 出现红色波浪线2.查询本地仓库:ja...

2019-02-17 23:41:32 2756

原创 用枚举处理全局统一返回格式

背景我们在开发中肯定会遇到以下情况:// 程序员A的接口返回格式{ "code": 211, "message": "分期审核通过", "detail": "分期审核通过",}// 程序员B的接口返回格式{ "resultCode": 211, "resultMessage": "分期审核通过", "r

2019-01-31 16:00:52 1868

原创 Springboot2.0注解@Scheduled 启动定时任务

优缺点在 SpringBoot2.0 中通过 @Schedule注解就可以简单的实现定时任务,但是这种方式够灵活,如果想要修改执行状态就必须修改代码;另外一种实现方式是通过 Quartz 实现任务调度实现步骤定义任务的实现方法,只需在方法上加入注解 @Scheduled即可@Component@Slf4jpublic class SimpleScheduledJob { ...

2019-01-25 16:13:13 2296

原创 Springboot2.0 邮件发送

文章目录部署环境背景步骤注意事项部署环境背景springboot2.0thymeleaf 或者 freemarker企业邮箱或者QQ邮箱等邮箱帐号步骤加入maven依赖&amp;amp;amp;amp;amp;amp;amp;lt;!--email start --&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;lt;dependency&amp;amp;

2019-01-25 11:33:39 1371

原创 Redis 字符串数据结构

简介Redis 中最简单的数据结构,它既可以储存文字(比如 “hello world”),又可以储存数字(比如整数 10086 和浮点数 3.14),还可以储存二进制数据(比如 10010100)。对于string类型的命令在这里就不多做介绍了,可以参考:http://www.runoob.com/redis/redis-strings.html常用的应用场景计数器id生成器实现在线人...

2019-01-25 00:41:44 244

原创 redis-cluster 集群原理介绍

参考文章:http://shift-alt-ctrl.iteye.com/blog/2285470redis-cluster 集群发展史3.0版本之前的redis是不支持集群的,那个时候,我们的redis如果想要集群的话,就需要一个中间件,然后这个中间件负责将我们需要存入redis中的数据的key通过一套算法计算得出一个值。然后根据这个值找到对应的redis节点,将这些数据存在这个redis的...

2019-01-23 17:01:27 543

原创 redis红包派送

package com.springboot.controller;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import ...

2019-01-20 23:23:22 240

原创 java浮点数精度损失原理和解决

背景在刚开始接触java时,我就对浮点型损失精度问题感到疑惑,那时候不知道损失精度是怎么一回事,只是单纯的知道有这个弊端。在工作开发中,终于出现了该问题,例如package sort;public class NumTest { public static void main(String[] args) { double a =1; double b...

2019-01-18 18:58:01 824

原创 java 面试题

网易JAVA程序员一面1.volatile有什么用?2.Minor GC和Full GC的触发时机3.反射用到了哪些接口,哪些类?4.反射机制中可以获取private成员的值吗?5.Java中sleep方法和wait方法的区别6.Java中有哪些注解?在SpringMVC中,requestmapping是自定义注解,问:如何实现自定义注解?网易JAVA程序员二面1...

2019-01-17 16:23:11 132

转载 jdbc原理总结

1 什么是JDBC JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。2 JDBC原理  早期SUN公司的天才们想编写一套可以连接天下所有数据库的API,但是当他们刚刚开始时就发现这是不可完成的任务,因为各个...

2019-01-11 16:02:27 262

原创 数据库迁移框架之Liquibase

Liquibase背景:              做过java开发的程序员应该都遇到过该类似的问题,当在开发服务器上开发好项目后,想要部署到测试服务器上,需要做好多的部署,以便测试服务器上的环境和开发服务器上的环境一致,其中有一重要的部署为数据库的迁移,不管是oracal或者是mysql或者是其它的关系型数据库,迁移的工作度是复杂和繁琐的,因为可能随着开发需求的更新,数据库也在随着变化,而每...

2018-12-05 19:08:10 1196

原创 Linux 之 vim命令

vim 文件名: 打开文件,或者是创建文件一般模式(默认的模式):dd  -&gt;  删除当前行d3d  -&gt;  删除光标(含)后多少行,删除3行u      -&gt;  撤销上一步yy    -&gt;  复制光标当前行y3y  -&gt;  复制光标(含)后多少行,复制3行p     -&gt;  黏贴x     -&gt; 相当于windows的delete...

2018-12-02 00:11:38 502

原创 Springboot整合Swagger2

swagger能解决什么?1、提供开发接口文档,可供前端或者需要的人调用及调试2、可以在线测试,不需要使用第三方工具,如postMan3、接口参数等变更时,可以同步变更整合步骤:1、加入maven依赖<dependency> <groupId>io.springfox</groupId> <artifactI...

2018-11-29 16:23:34 206

原创 mybatis-plus之代码生成器

当我们需要对数据库操作时,常规的做法是建立dao,service,controller,mapper.xml文件,一系列繁琐的操作让我们总在做无用功,以前可以用逆向工程生成,现在mybatis-plus也给我们提供了模板,而且功能更加的灵活和强大,我们只要配置好基本的参数,就可以自动生成了,下面正式开始奇迹之旅吧!1、pom文件<parent> <groupId...

2018-10-26 17:13:45 3933 7

原创 SpringBoot 整合 Mybatis-Plus + Mysql

mybatis-plus是mybatis的一款插件,它的主要作用是快速开发,省略mybatis的配置,具体的功能请参照官网。开发环境:springboot,maven,mybatis-plus,mysql,jdk1.8,lombok,阿里druid数据源整合步骤:1、在pom.xml加入相关配置2、在resources中添加application.yml,设置mysql相关配置...

2018-10-25 17:35:36 17147 2

转载 单元测试

https://www.imooc.com/article/69358 

2018-10-20 17:36:18 124

原创 策略模式+反射-解决多重if-else if问题

需求:商品有三种折扣价,普通客户不享受任何优惠,vip客户享受9折优惠,超级vip客户享受8折优惠当没有用到设计模式时,我们一般会采用下面的方式处理业务 int type = 1; if(type == 1){ System.out.println("普通客户,商品原价出售"); }else if(type == 2){ System.out.println(...

2018-10-19 12:03:11 4253 16

原创 设计模式之策略模式

策略模式的定义和使用场景定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换,让算法独立于使用它的客户而独立变化。分析下定义,策略模式定义和封装了一系列的算法,它们是可以相互替换的,也就是说它们具有共性,而它们的共性就体现在策略接口的行为上,另外为了达到最后一句话的目的,也就是说让算法独立于使用它的客户而独立变化,我们需要让客户端依赖于策略接口。策略模式的使用...

2018-10-18 18:59:39 144

原创 提取属性文件或yml文件

属性文件格式一:对象形式1、application.ymlthread: corePoolSize: 30 maxPoolSize: 50 queueCapacity: 1000 keepAliveSeconds: 3002、配置类@Data@NoArgsConstructor@AllArgsConstructor@Configuration@Configura...

2018-10-18 11:47:02 875

转载 StringUtils.isEmpty和StringUtils.isBlank用法和区别

 两个方法都是判断字符是否为空的。前者是要求没有任何字符,即str==null 或 str.length()==0;后者要求是空白字符,即无意义字符。其实isBlank判断的空字符是包括了isEmpty的。换句话说,isEmpty判断的范围更小,只是在没有字符的情况下。下面他们的具体用法:1. public static boolean isEmpty(String str)  判断某字符串...

2018-09-11 10:56:30 130

原创 Lambda-简化代码之神

最近在开发的过程中,发现了大量的lambda表达式,看着帅气而有简洁的代码,我也有点心动了,于是学习了其用法,lambda概念以及特点我在这里就不多作概述了,不懂的朋友可以自行去了解下,在这里我直接上代码,不喜无喷!!一:添加一些基类和原始数据public class Deptment { private String name; private String ad...

2018-08-22 18:44:05 591

转载 Spring的Assert断言工具类

转自:http://www.360doc.com/content/14/0513/17/8072791_377287362.shtmlSpring在提供一个强大的应用开发框架的同时也提供了很多优秀的开发工具类,合理的运用这些工具,将有助于提高开发效率、增强代码质量。下面就最常用的Assert工具类,简要介绍一下它的用法。 Assert断言工具类,通常用于数据合法性检查,在JAVA编程中,通常...

2018-08-10 14:28:05 1026

原创 JVM之栈和栈帧

栈:1、又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把  另一端称为栈底。其特性是先进后出。2、栈是线程私有的,生命周期跟线程相同,当创建一个线程时,同时会创建一个栈,栈的大小和深度都是固定的。3、方法参数列表中的变量,方法体中的基本数据类型的变量和引用数据类型的引用都存放在栈中,成员变量和对象本身不存放在栈中。运行时,成员...

2018-08-02 11:47:50 9955 1

转载 自定义JSR validation及Swagger的一些坑

地址:https://blog.youkuaiyun.com/z28126308/article/details/77748798http://sishuok.com/forum/blogPost/list/7798.html JSR-Java Specification Requests,是一个标准化技术规范的正式请求,如@Qualifier、@Inject、@Resource、参数校验bean...

2018-07-20 11:25:47 1168

原创 史上最全的多线程概述

进程:资源的分配和调度的一个独立单元线程:CPU调度的基本单元,存在于进程中,比如微信要接受消息,发送消息,这些子任务就是线程。联系:同一个进程中可以包括多个线程,并且线程共享整个进程的资源(寄存器、堆栈、上下文),一个进行至少包括一个线程。Http请求的线程形式:http请求,到业务处理,再到响应的过程,是在一个线程里面的。一个线程由一个方法启动,但是一个线程里面可以有多个线程,...

2018-07-17 22:34:02 212

空空如也

空空如也

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

TA关注的人

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