- 博客(65)
- 收藏
- 关注
原创 mybatis xml文件热加载实现
通过URLClassLoader加载外部jar时,springboot主项目不识别jar中的mapper.xml文件。2.2 容器初始化完成之后,注册mybatis的xml文件。2.1 加载第三方jar包。
2025-02-11 14:45:02
178
原创 openpdf
1、简介2、示例2.1 引入依赖 <dependency> <groupId>com.github.librepdf</groupId> <artifactId>openpdf</artifactId> <version>1.3.34</version> </dependency> <
2024-10-11 09:48:41
513
原创 mybatisplus整合flowable-ui-modeler报错
flowable-ui-modeler初始化的sqlSessionFactory和 sqlSessionTemplate与mybatisplus冲突了,flowable给sqlSessionFactory和 sqlSessionTemplate起了别名,所以给自己的mapper时指定mybatis-plus初始化的sqlSessionFactory和 sqlSessionTemplate。
2024-02-26 15:47:46
901
原创 后端开发通用
1、前后端开发项目基于前后端分离的架构进行开发,前后端分离架构总体上包括前端和服务端,通常是多人协作开发对于后端java工程师把精力放在设计模式,spring+springmvc,linux,mysql事务隔离与锁机制,mongodb,http/tcp,多线程,分布式架构,弹性计算架构,微服务架构,java性能优化,以及相关的项目管理等等。对于前端工程师把精力放在html5,css3,vuejs,webpack,nodejs,Google V8引擎,javascript多线程,模
2023-06-23 11:14:24
307
原创 扫码支付流程
一、支付宝接入实现1、流程step1 : 用户在浏览器中访问商家网页应用,选择商品下单,确认购买,接口会调起支付宝客户端内的支付模块,此时会从商家网页应用跳转到支付宝客户端中并开始支付,支付完成后会跳转回商家网页应用内,最后商家展示支付结构step2:进入到支付宝支付路由页面,支付宝处理支付请求,并尝试唤起支付宝客户端step3:用户确认收款方和金额,点击立即支付后出现输入密码界面step4:输入正确密码后,支付宝端显示支付结果step5:自动回调到浏览器中,商家根据付款结果个性化展示订单处
2023-06-23 11:13:45
347
原创 并发编程.
1、概述1.1 进程和线程进程:操作系统资源分配的最小单位。程序由指令和数据组成,指令要执行,数据要读写,就必须将指令加载至cpu,数据加载至内存,在指令运行过程中还需要用到磁盘、网络等设备,进程就是用来加载指令、管理内存、管理io的。当一个程序被运行,从磁盘加载这个代码至内存,这时就开启了一个进程。线程:处理器任务调度和执行的最小单位。一个进程之内可以分为一到多个线程一个线程就是一个指令流,将指令流中的指令以一定的顺序交给cpu执行区别进程基本上相互独立,线程存在于进
2023-06-23 11:13:03
224
原创 kubernetes
容器编排工具Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。
2023-06-23 11:12:10
80
原创 spring
源自于建筑学,隶属土木工程,后发展到软件工程领域 - 软件工程框架:经过验证的,具有一定功能的,半成品软件 - 经过验证 - 具有一定功能 - 半成品AOP,面向切面编程,是面向对象编程OOP的升华。OOP是纵向对一个事物的抽象,一个对象包括静态的属性信息,包括动态的方法信息等。而AOP是横向的对不同事物的抽象,属性与方法、方法与方法、对象与对象都可以组成一个切面,而用这种思维去设计编程的方式叫做面向切面编程。
2023-06-23 11:10:59
219
原创 quartz定时任务utils
/** * 定时任务工具类 * * @author */public class ScheduleUtils { private final static String JOB_NAME = "TASK_"; /** * 任务调度参数key */ public static final String JOB_PARAM_KEY = "JOB_PARAM_KEY"; /** * 获取触发器key */ public s
2021-10-11 14:04:47
364
原创 任务调度框架
1、quartz1.1 概述Quartz是OpenSymphony开源组织在Job scheduling领域的一个开源项目,由Java开发,可以用来执行定时任务,类似于java.util.Timer。Quartz是功能强大的开源作业调度库,几乎可以集成到任何Java应用程序中。Quartz包含许多企业级功能,例如对JTA事务和集群的支持。Quartz作为定时任务组件,既可以单独使用,也可以整合Spring使用。1.2 核心1.2.1 apiScheduler:任务调度器,使任务和触发器关联
2021-10-10 17:34:29
1272
原创 百度地图操作utils
/** * 百度地图操作工具类 */public class BaiduMapUtils { public static void main(String[] args) { String origin = getCoordinate(""); String destination = getCoordinate("组"); Double distance = getDistance(origin, destination); S
2021-10-09 14:36:03
392
原创 分布式任务调度
一、概述1、定义业务场景- 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。- 某银行系统需要在信用卡到期还款日的前三天进行短信提醒。- 某财务系统需要在每天凌晨0:10结算前一天的财务数据,统计汇总。- 12306会根据车次的不同,设置某几个时间点进行分批放票。任务调度是指系统为了自动完成特定任务,在约定的特定时刻去执行任务的过程。有了任务调度即可解放更多的人力,而是由系统自动去执行任务。如何实现任务调度?- 多线程方式,结合sleep- JDK提供的API
2021-08-18 12:18:57
10673
1
原创 01_单例模式
一、概述单例模式,顾名思义就是只有一个实例,并且她自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。下面我们来看下有哪几种实现方式吧。二、使用1、懒汉式懒汉式,顾名思义就是实例在用到的时候才去创建,“比较懒”,用的时候才去检查有没有实例,如果有则返回,没有则新建。有线程安全和线程不安全两种写法,区别就是synchronized关键字。public class User { private static User user;
2021-08-07 09:19:46
96
原创 websocket
1、依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>2、使用<!DOCTYPE html><html lang="en"><h
2021-08-05 12:09:47
124
原创 生成二维码
1、依赖 <!-- 一种即可--> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version> </dependency> <!--开发
2021-08-05 12:06:50
244
原创 springboot发送邮件
一、概述SMTP 协议全称为 Simple Mail Transfer Protocol,译作简单邮件传输协议,它定义了邮件客户端软件与 SMTP 服务器之间,以及 SMTP 服务器与 SMTP 服务器之间的通信规则。二、使用1、获取邮件服务器授权码2、示例依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-s
2021-08-05 11:57:42
169
原创 常见的加密方式
1、可逆加密算法解释: 加密后, 密文可以反向解密得到密码原文对称加密【文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥】解释: 在对称加密算法中,数据发信方将明文和加密密钥一起经过特殊的加密算法处理后,使其变成复杂的加密密文发送出去,收信方收到密文后,若想解读出原文,则需要使用加密时用的密钥以及相同加密算法的逆算法对密文进行解密,才能使其回复成可读明文。在对称加密算法中,使用的密钥只有一个,收发双方都使用这个密钥,这就需要解密方事先知道加密密钥。优点: 对称加密算法的优
2021-08-04 11:13:28
5025
1
原创 单点登录实现
一、简介以前实现的登录和注册是在同一个tomcat内部完成,我们现在的系统架构是每一个系统都是由一个团队进行维护,每个系统都是单独部署运行一个单独的tomcat,所以,不能将用户的登录信息保存到session中(多个tomcat的session是不能共享的),所以我们需要一个单独的系统来维护用户的登录信息。二、流程三、使用流程依赖<dependency> <groupId>io.jsonwebtoken</groupId> &
2021-08-02 18:40:08
113
原创 springboot集成swagger和 knife4j
一、简介Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/)。 它的主要作用是:使得前后端分离开发更加方便,有利于团队协作接口的文档在线自动生成,降低后端开发人员编写接口文档的负担功能测试Spring已经将Swagger纳入自身的标准,建立了Spring-swagger项目,现在叫Springfox。通过在项目中引入Springfox ,即可非常简单快捷的使用Swagger。二、概述Swagger常
2021-08-02 18:24:26
396
原创 fastDFS
一、简介FastDFS是分布式文件系统。使用 FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。二、概述1、工作原理FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据
2021-08-02 18:15:45
108
原创 jwt令牌
一、简介JSON Web token简称JWT, 是用于对应用程序上的用户进行身份验证的标记。也就是说, 使用 JWTS 的应用程序不再需要保存有关其用户的 cookie 或其他session数据。此特性便于可伸缩性, 同时保证应用程序的安全。在身份验证过程中, 当用户使用其凭据成功登录时, 将返回 JSON Web token, 并且必须在本地保存 (通常在本地存储中)。每当用户要访问受保护的路由或资源 (端点) 时, 用户代理(user agent)必须连同请求一起发送 JWT, 通常在授权标头中
2021-08-02 08:35:20
411
原创 03_springboot
一、简介SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了开发周期。Spring的缺点配置繁琐依赖繁琐SpringBoot的功能自动配置起步依赖辅助功能:嵌入式服务器、安全、指标,健康检测、外部配置等。小结:Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种简化使用 Spring
2021-07-31 11:12:50
75
原创 springboot_分页插件
1、使用原生的PageHelper依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.3</version> </dependency>配置 @
2021-07-31 11:03:41
1475
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人