- 博客(37)
- 收藏
- 关注
原创 使用EasyExcel(FastExcel) 的模板填充报Create workbook failure
EasyExcel Create workbook failure
2025-01-22 11:39:17
640
原创 本地启动SpringBoot服务报数据库连接失败的错
项目,本人从远程仓库 clone 下来之后,想着先本地启动下服务瞅一眼能不能正常启动。因为我本地的MYSQL数据库版本是8.0,而这个新服务的。程序员不就是生产BUG,修复BUG的碳基生物嘛。结果很不幸启动失败了,这很正常。沃特链接本地数据库都能报错呢?版本到 8.0.15。再次启动服务,成功~
2024-10-14 17:23:57
486
原创 SpringSecurity6配置requestMatchers().permitAll() 无效问题
SpringSecurity6 自定义认证过滤器无效
2024-04-29 15:59:43
1755
3
原创 第三方支付接入(微信,支付宝)
QY最近工作中安排了三方支付接入(一般就是微信,支付宝,银联),目前接入的是微信和支付宝;阶段接近尾声并且测试很OK,现在记录一下开发过程.目前对接了只有,支付宝的PC,H5,以及微信的PC,H5,JSAPI这几种, APP的支付暂时没有需求,所以没做考虑大家在对接过程中如果遇到问题,欢迎留言,我看到会及时回复的.发私信也可以.希望对大家有帮助;对接前提你需要在支付宝或微信平台创建自己的应用,得到我们后续需要用到的各种id和secret支付宝是有SDK的,记得引入依赖至于怎么在微信和支付宝的
2020-07-24 14:35:42
13430
1
原创 常读常看-Java中我的灯下黑(一)
文章目录1 最好这么用1.1 Java的 BigDecimal2 "它们"的区别3 总是听到但是不太明白的定义1 最好这么用1.1 Java的 BigDecimalJava中,在做金额相关计算的时候, 我们都知道使用BigDecimal类, 因为 浮点型变量(float和double)在进行计算的时候会出现精度丢失的问题;但是BigDecimal也会有精度丢失的问题,这个要知道BigDe...
2020-07-20 18:40:42
259
原创 crud有啥意思,快来用代码生成器偷懒吧
crud有啥意思,快来用代码生成器偷懒吧Mybatis-generator的两种使用方式为什么我们需要代码生成器?还记得我刚刚入行的时候,那会儿,感觉根据数据库字段创建model,生成getter,setter方法,mapper,xml的crud代码和SQL的编写,这些一搞就是一天,感觉真的好有成就感~~~现在呢? 确实是不想做这种重复性的工作,这也许就是成长.代码生成器在网上有很多很多了, 但是有一些代码生成器适合于你的公司,但是不一定适合你平时自己悄摸学习提升.下面就和大家介绍两种非常普遍
2020-05-19 15:09:57
878
原创 【JVM学习笔记】-字节码-第三章 栈帧,操作数栈,符号引用,直接引用,静动分派机制,字节码执行方式
1 概念1.1 栈帧(stack frame)栈帧是一种用于帮助虚拟机执行方法调用与方法执行的数据结构栈帧本身是一种数据结构, 封装了方法的 局部变量表, 动态链接信息, 方法的返回地址以及操作数栈等信息;1.2 符号引用,直接引用符号引用是一个字符串,它给出了被引用的内容的名字并且可能会包含一些其他关于这个被引用项的信息——这些信息必须足以唯一的识别一个类、字段、方法。这样,对于其他...
2020-03-18 17:14:46
430
原创 【JVM学习笔记】-字节码-第二章 通过字节码分析this关键字和异常表的重要作用
我们使用以下简单的代码来学习本章知识public class MyTest2 { public void test() { try { FileInputStream is = new FileInputStream("test.txt"); ServerSocket socket = new ServerSocket(9...
2020-03-16 11:06:22
185
原创 【JVM学习笔记】-字节码-第一章(多图,多表,实操)
一 什么是字节码java中通过编译, 会将我们程序员编写的文件转换成为一种 .class结尾的文件,我们称之为字节码文件.它是一种二进制文件(很明显是给计算机看的文件),是Java虚拟机中运行的文件.1.1 如何在IDEA中查看标准的,未经过IDEA反编译过的 .calss文件(1) javapIDEA中在 Terminal 终端中,我们通过 javap 命令来查看某个java文件的字节码...
2020-03-10 20:10:10
278
原创 JVM学习笔记---2.类加载器
1. 类加载器类加载器用来把类加载到 Java虚拟机中, 从 JDK 1.2版本开始, 类的加载过程采用父亲委托机制,这种机制能更好的保证 Java平台的安全, 在此委托机制中, 除了Java虚拟机自带的根类加载器以外, 其余的类加载器都有且只有一个父加载器. 当 Java 程序请求加载器 loader1 加载 Sample类时, loader1 首先委托自己的父加载器去加载Sample类, 若...
2020-01-15 10:54:41
182
原创 JVM学习笔记--1.类加载器的解析与阶段分解
JVM是什么?类加载(Class Loading)在 Java 代码中, 类型(如Class Interface Enum等,是Object这个类本身,而不是Object的对象)的加载、连接与初始化过程都是在程序运行期间完成的;提供了更大的灵活性,增加了更多的可能性;加载:查找并加载类的二进制数据(就是把类的字节码文件加载到内存中);连接:验证:确保被加载的类的正确性;准备:为类...
2019-12-09 17:24:28
412
原创 第七八章 统一配置中心和分布式服务跟踪
书籍地址: Spring Cloud 微服务架构开发实战统一配置中心有很多,市面上更加推荐使用 携程的 Apollo,这里不再写,因为没学完。所以先附上一篇优博+文档apollo配置中心部署到使用的心得总结apollo而关于 Sleuth ,书中内容是看完了,但是不太想整理。还想再去网上找一些成熟美丽的博文来看,或者之后再整理出来。就这样。...
2019-11-05 15:21:55
122
原创 第六章 6.4-6.8 API服务网关----Zuul
书籍地址: Spring Cloud 微服务架构开发实战6.4 路由配置规则Zuul 提供了多种机制对请求路由进行配置,如下:与 Eureka 服务器整合自动根据微服务的 ID 进行映射,这是默认机制。结合微服务 ID 通过自定义方式进行路由映射。添加全局路由映射。通过自定义路由转换器,实现更灵活的路由映射。6.4.1 服务路由默认规则当构建 API服务网关时,如果有 Eure...
2019-11-05 15:07:44
208
原创 第六章 6.1-6.3 API服务网关----Zuul
在微服务场景下,随着业务的发展,原来简单的系统会变复杂,微服务的数量会不断增加. 每个微服务都会对外暴露一组粒度不同的服务,客户端想完成一个功能时需要和众多的微服务打交道,甚至加载一个页面也需要调用一系列的服务接口才能完成,这样不但加重了客户端的负担,而且对基于互联网的访问也会造成性能低下.同时,由于需要访问多个微服务,增加客户端的复杂度,而且客户端还需要指导各个微服务之间的关系,一个某个微服务...
2019-11-01 16:50:25
226
原创 第五章 5.4-5.8 微服务容错保护----Hystrix
书籍地址: Spring Cloud 微服务架构开发实战5.4 服务隔离Hystrix的核心就是 提供服务容错保护,并且设计原则中就有一条:防止任何单一依赖用掉整个容器(如Tomcat)的全部用户线程。那么Hystrix是如何实现的呢?答案就是 舱壁隔离模式(Bulkhead Isolation Pattern)Hystrix使用该模式,可以对资源或失败单元进行隔离,避免一个服务的失效导...
2019-10-24 16:53:16
205
原创 4.7 深入 Feign
书籍地址: Spring Cloud 微服务架构开发实战4.7.1 Feign的参数绑定Feign支持多种注解,我们可以根据需要使用Feign自带的注解或者JAX-RS注解。此外,Spring Cloud 还对 Feign进行了增强,使得Feign支持了SpringMVC注解。Feign中我们常用的 SpringMVC 注解有:@RequestParam: 绑定单个请求参数值;@Pat...
2019-10-16 15:03:31
158
原创 4.6 深入Ribbon
书籍地址: Spring Cloud 微服务架构开发实战Ribbon 到底是通过什么机制来实现客户端负载均衡 ?在实际应用中我们应该选择什么负载均衡 ?4.6.1 Ribbon 客户端负载均衡原理对于一个客户端负载均衡实现方案来说, 核心有一下3部分:服务发现: 能够自动发现所依赖服务的列表。服务监听: 能够检测到失效的服务,并高效的将失效服务从服务列表中剔除。服务选择策略: 也就...
2019-10-16 14:34:30
164
原创 4.5 深入Eureka
书籍地址: Spring Cloud 微服务架构开发实战此篇主要是了解 Eureka的底层中服务注册、续约、注销这些原理当注册一个微服务到服务治理服务器时为何需要花费那么长的时间,才可以被消费4.5.1 服务注册、续约、注销等相关原理我们都知道分布式系统领域有个 CAP定理, 它指出对于一个分布式计算系统来说,不可能同时满足以下3点:一致性(Consistency): 同一个数据...
2019-10-15 15:13:13
212
原创 4.4 使用Feign简化微服务调用
书籍地址: Spring Cloud 微服务架构开发实战前面在我们使用RestTemplate调用其它微服务的API的时候, 所需要传入的参数必须在请求的URL中进行拼接. 如果参数很多…拼接请求字符串, 低效且不易管理但是,通过Feign项目,我们就可以避免这个尴尬.feign是一个声明式的Web Service客户端,它的目的就是让 Web Service 调用更加简单feign提...
2019-10-14 15:54:15
285
原创 4.3 使用客户端负载均衡----Ribbon
对于大型应用系统来说,负载均衡(Load Balancing,LB) 是一个必须要被解决的问题.微服务之前,负载均衡方案主要是集中式负载均衡方案, 在服务消费者和服务提供之之间存在一个独立的负载均衡系统.该负载均衡系统上有所有服务的地址映射表,当服务消费者调用某个目标服务时,先向负载均衡系统发起请求,由负载均衡系统以某种策略(如轮询) 做负载均衡后再将请求转发给目标服务.但是 该方案,有缺点...
2019-10-14 11:50:30
143
原创 4.2.3 搭建商品微服务,剩余代码
写在前面:如果您不是从第4章 服务治理与负载均衡传送门跳转过来的,那么此篇文章对您将毫无意义商品微服务剩余代码注意项目结构和用户微服务相同所用工具也和微服务相同只粘贴 dto,param,mapper(部分),service和controller包中的代码dtoUserDto@Datapublic class UserDto { private Integer id;...
2019-10-12 17:55:11
187
原创 4.2.3 搭建用户微服务,剩余代码
写在前面:如果您不是从第4章 服务治理与负载均衡传送门跳转过来的,那么此篇文章对您将毫无意义用户微服务1. 先看下整体的项目结构2. 我们按common->util->beans->dto->param->service-controller的顺序来贴由于model和mapper中有大部分是逆向生成的,因此mapper只贴新添加的部分commonJson...
2019-10-12 17:54:52
185
原创 第3章 SpringCloud 简介
本章将会先从大剑微服务架构应用的多个角度进行分析,了解一下微服务架构需要解决的核心问题,以及业界有哪些解决方案可以借鉴.3.1 微服务架构的核心关键点...
2019-10-10 14:35:11
225
原创 学习 Spring Cloud微服务架构开发实战
文章为本人学习 Spring Cloud 微服务架构开发实战 一书的笔记如有想购买书籍者,请移步京东,当当等商城购买,以下为京东商城 书籍链接Spring Cloud 微服务架构开发实战章节目录第1章 微服务架构开发第2章 微服务基础—Spring Boot...
2019-10-09 16:24:42
284
原创 第1章 微服务架构开发
1.1 单体架构应用的困境何为单体架构应用顾名思义,一个典型的单体架构应用就是将一个应用中所有的功能都打包在一个WAR文件中,并部署到应用服务器(如Tomcat)中运行1.1.1 单体架构应用有何缺陷开发维护变复杂在业务开展初期, 单体架构应用足以应对公司业务的需求. 但是如果你的公司很吊,业务扩张超迅速, 单体架构应用在 开发, 部署, 运维各方面都会越来越慢, 各种环节都会产生...
2019-10-09 16:22:24
394
原创 并发编程-11-消息队列
举个栗子看看消息队列有什么好消息队列已经逐渐成为企业IT系统内部通信的核心手段;上图讲解,我们用最常见的商城系统中的下单成功发送短信场景为例:(1) 上图中的开始流程A我们假定为用户下单成功, A 到消息A1 呢,是下单成功后,给用户发一条短信通知一下;假如没有使用消息队列,我们一般是下单成功后,系统同步调用发短信的接口来执行短信的发送,并等待短信发送成功.正常情况下,这样看着是没有什么...
2019-09-30 18:43:26
179
原创 并发编程-08-线程池
讲线程池之前我们先经过Thread引以下Thread线程,是一个基础的线程框架。是我们最先接触到的线程框架。但是开发中我们并不推荐用这个Thread.原因如下:每次 new Thread 新建对象,性能差;线程缺乏统一管理,可能无限制的新建线程,相互竞争,有可能占用过多系统资源导致死机或OOM(内存溢出)缺少更多功能,如更多执行,定期执行,线程中断等;线程池的好处重(chong...
2019-09-27 15:57:07
141
原创 SpringBoot项目集成Redis+工具类
闲言碎语不多讲今天没有理论只有实践1 引入redis依赖maven为例,gradle自己找 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis&l...
2019-09-24 14:31:07
393
原创 Java中常见的异常类型
常见的异常类型1.1 最常见异常类型异常类型异常名称NullPointerException空指针异常ClassCastException类型转换异常ArrayIndexOutOfBoundsException数组下标越界StackOverflowError堆栈一处错误1.2 其它常见异常类型异常类型异常名称Runti...
2019-08-19 14:39:54
237
转载 Java中的final,finally,finalize 的区别
final可修饰的对象有, 变量, 方法, 方法的形参, 类;修饰变量如果final修饰的是基本类型, 表示该变量值不可变;如果修饰的是一个复杂对象, 表示该对象的引用不可变;PS:Java虚拟机为变量设定的默认值不记做一次赋值,被final修饰的变量必须初始化初始化方式:定义的时候初始化;final变量可在初始化中初始化,不可以在静态初始化块中初始化;静态final变量可...
2019-08-11 19:46:28
133
原创 HashSet如何保证元素不重复
HashSet保证元素不重复?说直接一点,其实HashSet的add() 方法中调用的是HashMap的put() 方法. 我们都知道的是Map的key不允许重复, 这其实就是HashSet能够保证元素不重复的真正原理.稍微跟入源码观察一下Class HashSet/** 先看看add方法的实现*/public boolean add(E e) { return ma...
2019-08-09 09:39:37
1023
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人