自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Activiti modoler 整合后报错 TypeError: Cannot read property ‘namespace‘ of undefined

问题找了好久,一直以为是SpringSecurity请求限制没放开,所以找SpringSecurity的debug日志,浏览器请求有没有404、500、502等,结果一切正常,最后才想起来看浏览器控制台,然后百度一圈没有解决方案,只能自己慢慢找了。

2023-07-04 21:46:50 1174 9

原创 Uniapp引入彩色图标iconfont

执行完毕后,会出现一个文件夹,iconfont-xk857,进入iconfont-xk857文件夹下,复制iconfont-xk857-icon.css到项目。使用:其中xk857-icon开头是必须的,彩色图标当前对 vue文件有效,控制台会关于backgroud的相关警告,可忽略它。进入阿里巴巴矢量图标库https://www.iconfont.cn/,添加图标到项目,然后下载至本地。对下载的文件进行解压,命令行进入解压后的文件下,执行一下命令,全局安装iconfont-tools工具。

2023-02-20 22:35:07 538 1

原创 SpringBoot日志框架使用详解

几种常见的日志级别由低到高分为:TRACE < DEBUG < INFO < WARN < ERROR < FATAL 。如何理解这个日志级别呢?很简单,如果项目中的日志级别设置为INFO ,那么比它更低级别的日志信息 就看不到了,即是TRACE 、DEBUG日志将会不显示。

2023-02-20 22:21:53 649

原创 SpringBoot之DEBUG远程调试黑科技?

随着项目的体量越来越大,启动的时间的也是随之增长,甚至远程DEBUG更能反映出真实业务环境下可能出现的问题,毕竟平常开发大多在windows或mac环境,部署时使用的一般是linux,个别情况下的兼容问题可能是致命的,且非常难以排查,因此远程DEBUG就非常有必要。

2023-02-20 22:20:44 761

原创 SpringBoot获取配置文件内容的几种方式你都掌握了吗?

自从用了SpringBoot,个人最喜欢的就是SpringBoot的配置文件了,和Spring比起SpringBoot更加灵活,修改的某些配置也是更加得心应手。 SpringBoot官方提供了两种常用的配置文件格式,分别是properties和YML格式。相比于properties来说,YML更加年轻,层级也是更加分明,不过本篇文章的重点是如何获取配置文件的内容。

2023-02-20 22:16:51 1204

原创 Nacos控制台显示注册成功,可视化web管理界面找不到服务?

比较建议的做法是,bootsrtap.yml配置cloud相关配置,nacos远程配置里删除cloud相关配置。创建namespace时ID和命名空间名可以相同,这样在配置文件中也就不用去配置生成的ID了,直接配置自己设置的即可。bootsrtap.yml指定了namespace,但是配置中心的配置文件指定的还是命名空间名称,也就是说系统根据。还有一种是时区问题,Nacos服务器和项目运行的电脑时间不一致,我没遇到这个问题,所有这里也不多说了。这应该是最常见的问题了,大多数小伙伴问题应该都出在这里。

2023-01-14 11:24:51 7077 4

原创 Docker中的网络模式

Docker的默认网络模式可以分为:Host 模式、Bridge 模式或者 None 模式。其中Bridge模式是创建容器默认的网络模式,Host模式和主机共享一个网络,None模式则代表无网络。

2023-01-12 11:19:42 1064

原创 使用Docker搭建主从数据库(MySQL)

很多人对主从数据库有一个误区,把多个MySQL搭建在同一个服务器上,性能提升是不是很有限?这个理念是错误的,数据库的性能瓶颈主要是在IO和CPU负载过高,在同一台服务器运行多个数据库,能带来更低的延迟,还能减少很多其他问题,如果不是数据量大到了一定程度,在同一台服务器上创建多个数据库带来的性能提示是非常可观的。

2023-01-09 17:19:55 1283

原创 java微信支付v3系列——9.微信支付之商家转账API

这里和发起创建支付订单的请求相似,因此不单独列出,首先是封装转账请求参数,然后是获取请求对象发起请求,完成签名验证发送请求,最后解析数据,如果转账失败则返回提示信息给用户。商家转账支持一次性多次转账,一次最多可以发起3000笔转账,估计是为了防止营销手段,所以该接口设置了QPS为50,注意自己的业务,别踩雷!这个功能就比较复杂了,首先是得有90天的资金流水才能开通,其次开通后还需要在官网进行配置,不能直接调用,并且限制了IP地址。那么数据可以理解为,转账说明,和详细说明。

2022-12-21 22:10:36 5016 6

原创 java微信支付v3系列——8.微信支付之退款成功回调

还记得WxPayCallbackUtil回调接口工具类吗,当时是用于支付成功的回调,我们接下来向里面添加一个退款成功的回调方法,在添加前我们先来做一个准备操作。more。

2022-12-21 22:09:15 3986 8

原创 java微信支付v3系列——7.微信支付之申请退款

不得不说,申请退款和创建订单是非常相似的,流程都一样,只是请求的数据变了,那么我们第一步就是封装请求数据成对象形式,方便后续调用。

2022-12-21 22:08:13 3812 2

原创 java微信支付v3系列——6.微信支付查询订单API

什么时候会用到这个API?常规情况下,回调接口已经足够我们使用,用户支付成功后,微信会自动调用我们的回调接口进行回调,那么还需要这个API吗?使用场景:微信服务器故障,我们的服务器故障,服务器端正在进行更新导致用户付款后端没有及时接收到微信的回调请求,那么此时我们就可以让用户点击按钮“更新支付状态”,此时再来调用这个API。来看一下下面的java对象,是不是很熟悉?没错,这个接口的返回数据和回调接口是一样的,我们直接拿来复用一下。

2022-12-21 22:05:35 4768 6

原创 java微信支付v3系列——5.微信支付成功回调

还记得WxPayCallbackUtil回调接口工具类吗,当时是用于支付成功的回调,我们接下来向里面添加一个退款成功的回调方法,在添加前我们先来做一个准备操作。

2022-12-21 22:04:00 14918 18

原创 java微信支付v3系列——4.创建订单的封装及使用

经过了微信支付之创建订单准备操作的准备操作,接下来我们就能够非常快速的开发出各种支付类型的创建订单接口。商户Native支付下单接口,微信后台系统返回链接参数code_url,商户后台系统将code_url值生成二维码图片,用户使用微信客户端扫码后发起支付,也就是说后端只需要返回code_url即可。使用方式也很简单,通过注入的方式获取到wxPayConfig和wxPayClient对象后,创建支付请求参数对象,调用刚刚编写的wxNativePay方法即可。

2022-12-21 22:02:50 4618 4

原创 java微信支付v3系列——3.订单创建准备操作

微信支付的下单操作分为了5种,分别是JSAPI、APP、H5以及Native支付及小程序支付,之所以将支付放在单独一个章节,而不是按照支付类型划分一个章节,是因为支付所传递的数据都是相似的,方便我们更好的封装。more本章节是支付编写支付前的准备操作,发送请求需要请求地址,用户支付成功后微信会通过我们传入的回调地址进行回调,这两个地址都通过枚举进行管理。然后就是方法的封装,如果都写在一个方法里面,代码冗余,毕竟发送请求的代码都很相似。

2022-12-21 22:00:48 4296 8

原创 java微信支付v3系列——2.微信支付基本配置

配置商户信息、证书、密钥等。将客户端对象构建到Bean中,方便后续使用。more我们可以使用官方提供的,帮助我们完成开发。实现了请求签名的生成和应答签名的验证。

2022-12-21 21:59:56 6273 1

原创 java微信支付v3系列——1.微信支付准备工作

准备工作即微信支付开发前,需要先获取商家信息,包括商户号、AppId、证书和密钥。

2022-12-21 21:51:11 4410 15

原创 Redis数据结构Bitmap实战之用户签到

前言bitmap就是通过最小的单位bit来进行0或者1的设置,表示某个元素对应的值或者状态。一个bit的值,或者是0,或者是1;也就是说一个bit能存储的最多信息是2。换句话来说它的优势是占用空间小、处理速度快业务分析我们可以设置Redis的key为user:sign:customerId:yyyyMM 那么可推出如下命令说明:签到天数从0开始,倒数第二位是偏移量代表天数,最后一位1代表已签到第一天签到:setbit user:sign:1001:202203 0 1第二天签到:setb

2022-03-02 16:31:06 1206

原创 全国城市信息的SQL文件

省市区的SQL地址:……包含乡镇的SQL文件地址:……

2022-01-21 09:44:28 1081

原创 一文看懂SpringCloudAlibaba组件

文章目录分布式架构理论CAP理论CAP里面下的注册中心选择思考BASE理论 - 一致性和可用性的权衡结果线上部署(Docker)环境部署部署Nacos部署Sentinel环境准备数据库准备使用Maven创建聚合工程引入MybatisNacos注册中心基本使用简单实现服务调用Ribbon负载均衡负载均衡Ribbon和OpenFeign负载均衡策略调整OpenFeign基本使用案例GET方式POST方式流量防卫兵-Sentinel基本使用流控的使用和规则使用流控规则效果熔断降级规则Sentinel自定义异常Se

2021-10-26 16:08:51 5493

原创 Vite+Vue3+Ts项目搭建(全套解决方案Vuex、VueRouter、elementplus、NaiveUI、全局深色模式、中英文切换)

Vite+Vue3+Ts项目搭建(全套解决方案Vuex、VueRouter、elementplus、NaiveUI、全局深色适配、国际化)使用Vite创建vue3+ts项目# 创建vite项目npm init @vitejs/app# 输入项目名称? Project name: » vite-devil-control# 然后选择vue (通过上下箭头切换,回车确定)# 然后选择vue或vue+ts集成 Vue-Router安装(两个任选其一)# router4.x版本npm in

2021-08-14 23:28:17 4911 2

原创 CSS也有设计模式?带你走进CSS架构设计

首先我个人是主学java的,所以用java来举例,尝试用后端的思想来理解前端。java是一门面向对象的语言,在java中我们可以使用继承来实现,不修改原有代码,对功能进行增强。在不改动原有样式代码的情况下,将下面第一个div的字体颜色改成红色。font-size;}

2021-07-27 15:18:04 381

原创 windows下MYSQL5.5升级到5.7

卸载MYSQL5.5服务中,关闭MYSQL服务,点击属性,查看mysql安装的位置,先记录,后面用控制面板里的增加删除程序内进行删除win+r-> regedit 看看注册表里这几个地方删除没有HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL目录删除HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Applic

2021-07-23 13:52:34 3218 2

原创 如何设计新零售行业数据库?不懂SKU、SPU?带你走进数据库设计,用最容易理解的方式讲述数据库设计思想

数据库设计思想—使用新零售行业数据库带你走进数据库设计本篇文章会详细描述数据库设计中问题的解决思路,为什么不用其他方案都会说明。可能有的小伙伴只是想找数据库做参考,帮忙帮到底,点击下载概述像酒店管理系统,财务报表系统,在线教育系统的表设计相对来说是比较简单的,因为他的属性是固定的。比如在线教育的课程表,大致包含课程详情、价格、教师等信息,比较容易抽象出来。设计的难点在于要提前规划好可能会用到的属性,避免后期修改造成前后端大量改动,费时费力,而新零售系统的数据库设计可能会比你想想中困难一些,来举

2021-07-20 10:13:45 3090 2

原创 MySQL中国省份和城市数据(不包含县级数据)

省份表结构和数据CREATE TABLE `t_province` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键', `province` varchar(100) NOT NULL COMMENT '省份', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除', PRIMARY KEY (`id`) USING BTREE, UNIQUE IN

2021-07-19 22:32:57 1814

原创 java增效系列—Guava常用工具集(不可变集合、集合工具、增强集合)

Guava使用前请先引用依赖<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>30.1.1-jre</version></dependency>不可变集合创建对象的不可变拷贝是一项很好的防御性编程技巧。优点:当对象被不可信的库调用时,不可变形式

2021-07-18 15:12:00 528

原创 java增效系列—jdk8新特性之Optional优雅处理null值情况

Optional三种创建optional对象方式public void test01(){ // 1.创建空optional Optional.empty(); // 2.使用非null值创建optional对象,使用null会报错 Optional.of("test"); // 3.可以使用任意值创建 Optional.ofNullable(null);}正常引用和引用缺失情况下的使用public void test01() { Op

2021-07-18 10:16:17 550

原创 java增效系列—高效关闭资源

资源关闭传统的资源关闭写法先来体验一下传统的资源关闭方式,注意 finally 类中的代码,其繁琐程度大家体验一下@Testpublic void copyFile() { // 定义输入路径和输出路径 String originalUrl = "lib/FileCopyTest.java"; String targetUrl = "targetTest/target.txt"; // 声明文件输入流,文件输出流 FileInputStream origin

2021-07-18 09:41:47 268

原创 Steam流编程—jdk增效锦集

Stream流编程Stream流编程—创建相关方法集合Collection.stream/parallelStream数组Arrays.stream数字lntStream/LongStream.range/rangeClosed数字Random.ints/longs/doubles自定义Stream.generate/iterate测试public static void main(String[] args) { // 从集合创建

2021-07-17 22:52:22 262 3

原创 JDK8新特性 Lombda表达式复习

JDK8新特性 Lombda表达式复习自定义函数式接口——@FunctionalInterface作用jdk自带的一些常用的一些接口Callable、Runnable、Comparator等在JDK8中都添加了@FunctionalInterface注解。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KhdBWhB7-1626511804643)(https://xk857.com/typora/2021/05image-20210717102035113.png)]

2021-07-17 16:51:05 368 3

原创 swaggerUI界面不好看,交互不友好?那你必须要看看这篇文章

依赖父工程:<!-- Knife4j swagger增强 --><dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>2.0.7</version></dependency>使用直接访问:ht

2021-07-17 10:04:23 702

原创 在SpringBoot中如何最简单的使用Swagger?

springBoot使用swagger太麻烦,每次都需要编写config?如果我告诉你有这么一种方式,你只需要配置yml文件,你学还是不学?整合Swagger依赖:<!-- Swagger --><dependency> <groupId>com.battcn</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <vers.

2021-07-16 23:15:46 917 8

原创 SpringBoot整合MyBatis使用Druid数据源

SpringBoot整合Mybatis使用Druid数据库,开箱即用包含控制台、账号密码配置,一篇文章包教会,直接用到项目中去。

2021-07-16 23:13:59 510

原创 面向切面编程 AOP你知多少?

面向切面编程 AOP核心概念横切关注点对哪些方法进行拦截,拦截后怎么处理,这些就叫横切关注点比如 权限认证、日志、事物通知 Advice在特定的切入点上执行的增强处理,有5种通知.做啥? 比如记录日志,控制事务 ,提前编写好通用的模块,需要的地方直接调用连接点 JointPoint要用通知的地方,业务流程在运行过程中需要插入切面的具体位置,一般是方法的调用前后,全部方法都可以是连接点只是概念,没啥特殊切入点 Pointcut不能全部方法都是连接点,通过特定的规则来筛选

2021-07-16 23:12:51 164 1

原创 使用SpringBoot自带的异步任务

在绝大多数的java应用中,很多场景都是采用的是同步的方式交互,那么一旦如果有第三方进行交互,则很有可能就会产生交互延迟的问题,那么这种时候就得考虑使用多线程,但是在Spring3以后它就已经内置了异步任务供我们使用。

2021-07-16 23:03:17 193

原创 使用SpringBoot自带的定时任务

定时任务在项目中被大量使用,例如航班车票初始化、定时推送、定时发邮件等等,在企业开发中,常常配合使用xxl-job框架来进行处理。

2021-07-16 23:01:50 222

原创 SpringBoot中的Validator参数校验器——通过注解的方式控制controler接收参数的规则

在日常的接口开发中,经常要对接口的参数做校验,例如,登录的时候要校验用户名密码是否为空。但是这种日常的接口参数校验太烦锁了,代码繁琐又多。Validator框架就是为了解决开发人员在开发的时候少写代码,提升开发效率的;它专门用来做接口参数的校验的,例如email校验、用户名长度必须位于6到12之间等等。注意,SpringBoot最新版本已经移除了自带的Validator依赖,因此发现没有该依赖后请导入以下依赖。

2021-07-16 22:58:33 581

原创 在SpringBoot中使用自定义异常

自定义异常在企业开发中非常常见,java的异常管理机制是非常完善的,配合SpringBoot全局异常处理器能答到意想不到的效果,当然自定义异常属于必会知识点了,如果忘得差不多了,可以来回顾回顾。

2021-07-16 22:55:39 534

原创 SpringBoot全局异常处理

项目开发中如果出现异常信息,例如前端传递的id没有在数据库找到,用户余额不足等等,你还在手动返回处理结果吗?不觉得看起来冗余代码太多,也不规范吗?无论正确的结果还是错误的结果都需要手动返回。如果我告诉你有这么一种方法,你只需要抛出异常,然后返回的结果就是处理后的标准结果类,你学还是不学?

2021-07-16 22:53:36 156

转载 java设计模式系列18——备忘录设计模式(快照模式)

备忘录设计模式在不破坏封闭的前提下,捕获一个对象的内部状态,保存对象的某个状态,以便在适当的时候恢复对象,又叫做快照模式,属于行为模式备忘录模式实现的方式需要保证被保存的对象状态不能被对象从外部访问,应用场景玩游戏的时候肯定有存档功能,下一次登录游戏时可以从上次退出的地方继续游戏棋盘类游戏的悔棋、数据库事务回滚需要记录一个对象的内部状态时,为了允许用户取消不确定或者错误的操作,能够恢复到原先的状态提供一个可回滚的操作,如ctrl+z、浏览器回退按钮角色Originator: 发起者,

2021-07-16 10:00:06 515

空空如也

空空如也

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

TA关注的人

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