- 博客(119)
- 资源 (10)
- 收藏
- 关注
原创 Activiti可视化流程管理器
Activiti是一个业务流程管理(BPM)框架,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的,易扩展的可执行流程语言框架。在Java工作流引擎中可谓是主流,我们的项目也是使用的这个框架进行流程相关的开发。与流程息息相关的就是我们的流程定义BPMN文件,包含有一系列的标签定义,如果直接去编辑这段标签不仅上手不容易,还容易改出问题,这时候就迫切需要一个可视化的管理编辑器了。事实上Activiti已经提供了这个管理器,它就是Activiti-Exploer。...
2022-08-11 16:10:18
1640
1
原创 通过源码分析Spring Security用户认证流程
Spring Security的登录主要是由一系列的过滤器组成,我们如果需要修改登录的校验逻辑,只需要在过滤器链路上添加修改相关的逻辑即可。这里主要通过Spring Security的源码来了解相关的认证登录的逻辑。1.Spring Security的认证流程主要分析:认证用户的流程如何进行认证校验认证成功后怎么获取用户信息具体的过滤器链路如下所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bNeoD1tB-1618803611952)(https://
2021-04-19 11:40:54
367
原创 Swagger+knife4j 易于整合SpringBoot的OpenAPI文档生成利器
1.Swagger简介前端和后端的联调离不开API文档,而手动编写API文档是一项耗时又费力的操作。Swagger正是基于简化API文档的输出的一个优秀的开源框架,通过OpenAPI的规范呈现接口信息,方便的提供测试和联调。这样,如果按照新的开发模式,在开发新版本或者迭代版本的时候,只需要更新Swagger描述文件,就可以自动生成接口文档和客户端服务端代码,做到调用端代码、服务端代码以及接口文档的一致性。官方地址:https://swagger.io[外链图片转存失败,源站可能有防盗链机制,建议将
2021-04-12 20:58:55
1342
原创 使用PowerMock进行单元测试
单元测试可以提高测试开发的效率,减少代码错误率,提高代码健壮性,提高代码质量。在Spring框架中常用的两种测试框架:PowerMockRunner和SpringRunner两个单元测试,鉴于SpringRunner启动的一系列依赖和数据连接的问题,推荐使用PowerMockRunner,这样能有效的提高测试的效率,并且其提供的API能覆盖的场景广泛,使用方便,可谓是Java单元测试之模拟利器。1. PowerMock是什么? PowerMock是一个Java模拟框架,可用于解决通常认为很难甚
2021-04-07 15:04:49
962
原创 Java里面Join(),为什么等待的是主线程,而不是当前子线程?
1.问题描述 当我们想要一个线程插队执行的时候,我们可能会使用到thread.join();。这个会让子线程先于主线程执行完毕,然后才开始执行子线程。但是仔细一想,发现这个明明调用的是子线程的join()方法,按道理应该子线程等待执行才是,为什么反而是主线程等待了呢?相关的示例代码如下:public static void main(String[] args) throws InterruptedException { Thread thread = new Thread(()
2021-02-16 15:08:58
496
2
原创 使用Spring Security登录认证,通过Oauth2.0开发第三方授授权访问资源项目详解
1.OAuth 2.0简介OAuth 2.0提供者机制负责公开OAuth 2.0受保护的资源。该配置包括建立可独立或代表用户访问其受保护资源的OAuth 2.0客户端。提供者通过管理和验证用于访问受保护资源的OAuth 2.0令牌来实现。在适用的情况下,提供商还必须提供用户界面,以确认客户端可以被授权访问受保护资源(即确认页面)。2.OAuth 2.0的四种授权模式OAuth 2.0常见的有如下四种授权模式,(主要参考自 阮一峰 OAuth 2.0 的四种方式):授权码(authorization
2020-08-13 15:13:19
755
原创 开发dubbo应用程序(一)入门demo详解
开发dubbo应用程序(一)入门demo详解1.简介:引用自Dubbo官方文档简介:http://dubbo.apache.org/zh-cn/docs/user/dependencies.html 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是
2020-07-30 22:31:28
296
原创 Dremio的部署搭建和实战使用详解
1.关于DremioDremio的数据湖引擎提供了闪电般的查询速度和一个直接针对数据湖存储的自服务语义层。闪电般的查询自助服务语义层灵活性和开源技术强大的连接能力更为详细的介绍请查阅官网文档:https://docs.dremio.com/[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3VJkImGm-1594199498194)(https://s1.ax1x.com/2020/07/08/UVeBAx.png)][外链图片转存失败,源站可能有防盗链
2020-07-08 17:13:46
4317
2
原创 Linux安装Nginx
1.准备目录mkdir -p /data/nginxcd /data/nginx2.下载cd /data/nginx -- 安装GCC yum -y install gcc gcc-c++ autoconf automake make 从http://nginx.org/download/上下载相应的版本(或者wget http://nginx.org/download/nginx-1.5.9.tar.gz直接在Linux上用命令下载)tar -zxvf nginx-1
2020-06-09 15:30:34
160
原创 Zookeeper集群部署和ZKUI可视化界面文档整理
1.环境说明JDK 1.8 + 【不要安装OpenJdk】zookeeper 3.4.14zkUI 2.0.+maven 3.5.+2.源码安装1.1、获取tar包http://apache.spinellicreations.com/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz1.2、上传tar包,解压改名# 解压文件tar -xvf zookeeper-3.4.14.tar
2020-06-04 11:34:57
497
原创 运用切面和拦截器进行注解类的解析判断示例
1.注解简介Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。2.相关Demo示例①使用切面方式使注解生效项目结构:├─.idea│ ├─codeStyles│ ├─
2020-05-26 15:21:00
395
原创 sharding-jdbc简单示例
建表语句:CREATE TABLE `t_order_1` ( `order_id` bigint(20) NOT NULL COMMENT '订单id', `price` decimal(10,2) NOT NULL COMMENT '订单价格', `user_id` bigint(20) NOT NULL COMMENT '下单用户id', `status` varchar(50) NOT NULL COMMENT '订单状态', PRIMARY KEY (`order_id`)
2020-05-24 11:32:28
1612
2
原创 文件处理工具类FileUtils
public class FileUtils {private static final Logger logger = LoggerFactory.getLogger(FileUtils.class);/** * base64字符串转化成图片 * * @param base64imgStr * @return */public static boolean base64ToImage(String base64imgStr, String filePath) { if (Stri
2020-05-22 16:26:11
199
原创 使用过滤器Filter放置参数,减少前端传参示例
1.功能背景 我们在项目中有些经常会重复使用的参数,如用户信息相关USER_ID。此事并不希望每次都让前端传输重复的参数给我们,一方面减少重复代码的工作量,另一方面可以有效的保护用户隐私信息,这个时候可以在后台将其处理放入过滤器中,实现获得相关的参数的值。2.示例代码①包结构├─.idea│ ├─codeStyles│ ├─dictionaries│ ├─inspectionProfiles│ └─libraries├─.mvn│ └─wrapper├─src│ ├─m
2020-05-19 15:40:33
685
原创 短网址生成相关
/*** * 短链接转换工具类 * * @author Administrator * */public class ShortUrlHelper { private static String DEFAULT_H5_LINKS_PERFIX = " ?id="; private static String H5_LINKS_PERFIX = "H5_LINKS_PERFIX"; public static CloseableHttpClient httpClie.
2020-05-19 10:57:58
315
原创 Spring Aop相关详解
Spring核心知识Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Sprin
2020-05-10 11:18:46
134
原创 多线程读写文件Demo
package com.study.month_04.day0412;import java.io.*;public class Demo { static int threadNum = 3; public static void main(String[] args) throws Throwable { for (int i = 0; i <...
2020-04-12 14:19:27
127
原创 开发dubbo应用程序(二)dubbo注册中心相关概述
1.注册中心概述 在Dubbo微服务体系中,注册中心是其核心组件之一.Dubbo通过注册中心实现了分布式环境中各微服务之间的注册与发现,是各分布式节点之间的纽带.其主要作用如下:动态加入。一个服务提供者通过注册中心可以动地把自己暴露给其他消费者,无序消费者逐个去更新配置文件;动态发现。一个消费者可以动态地感知新的配置、路由规则和新的服务提供者,无需重启服务使之生效;...
2020-04-04 13:08:54
84
原创 开发dubbo应用程序(一)入门demo详解
1.简介:引用自Dubbo官方文档简介:http://dubbo.apache.org/zh-cn/docs/user/dependencies.html随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起...
2020-04-04 13:07:19
169
原创 MyBatis-plus入门Demo详解
一.简介:引用官方文档(本文主要参考官方文档示例):MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。愿景我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗中的 1P、2P,基友搭配,效率翻倍。(更多文档介绍请点击进入查看)ZDkKjU.png二.Sp...
2020-04-03 14:36:59
521
原创 使用spring-session-data-redis做session共享实现
1.pom.xml依赖<!-- spring-session-redis--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</a...
2020-03-15 15:30:25
345
原创 Mybatis使用注解代替XML配置,动态加载sql
1.MyBatis3简介参考网站:http://www.mybatis.org/mybatis-3/zh/index.html MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java...
2020-03-15 15:29:55
1257
原创 Git新建分支,分支合并,版本回退详解
一.git基本命令git拉取仓库代码拉取master代码git clone git仓库地址拉取分支代码git clone -b 分支名称 git仓库地址2.git添加代码到本地仓库git add .3.git提交代码git commit -m "相关描述写这里"4.git拉取代码git pull5.git推送代码到远端#普通推送git p...
2020-03-15 14:36:33
421
原创 转: Tomcat 调优及 JVM 参数优化
本文章位转发,原文地址:http://blog.chopmoon.com/favorites/231.htmlTomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你。对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU 的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU 的...
2020-03-15 14:36:19
112
原创 springboot上传文件的为空的处理方式
增加配置@Configurationpublic class UploadConfig { //显示声明CommonsMultipartResolver为mutipartResolver @Bean(name = "multipartResolver") public MultipartResolver multipartResolver() { ...
2020-03-15 14:35:49
2686
1
原创 Maven聚合项目的创建
1.项目结构如下image.png步骤如下:image.pngimage.png点击Finish这里父项目需要加入如下的构建依赖:<dependencyManagement> <dependencies> <dependency> ...
2020-03-15 14:35:33
121
原创 Spring配置多数据源实战
Spring配置多数据源实战这里我们只演示同一个mysql下面的不同的两个库,主要采取分包的形式来区分不同的数据源:Spring的xml方式配置多数据源:DBConfig1:<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-in...
2020-03-15 14:35:20
188
原创 关于ssm的分页部分代码
PageObject以下省略了setter和getterpublic class PageObject { private Integer currentPage = 1; private Integer pageSize = 5; //为了后面的mapper中limit的运算 public Integer getStart() { ...
2020-03-08 11:52:25
99
原创 测试神器Swagger的相关使用
1.Swagger简介swagger官网地址:https://swagger.io/swagger官网文档介绍地址:https://swagger.io/about/ swagge是一个易于使用的API团队协作开发的工作,能用于查看API的生命周期,设计文档和测试开发.因此我们在前后端分离的项目用到Swagge测试和参数获取是再合适不过的了.image...
2020-03-08 11:52:10
285
原创 远程调试命令
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar
2020-02-28 22:03:11
215
原创 第5章—构建Spring Web应用程序—关于spring中的validate注解后台校验的解析
关于spring中的validate注解后台校验的解析在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节。比如参数不能为null,email那么必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太慢,在时间、成本、质量的博弈中必然会落后。所以把校验层抽象出来是必然的结果,下面说下几种解决方案。1.简单的校验Demo依赖:<depe...
2020-02-25 14:58:49
118
原创 打包本地jar到本地maven中
mvn install:install-file -Dfile=F:/Sdk4J.jar -DgroupId=com.sdk4j -DartifactId=sdk4j -Dversion=1.0 -Dpackaging=jar
2020-02-19 11:41:39
76
原创 直接缓冲区操作示例
public class FeiZhiJieHeZhiJie { /** * 非直接缓冲区写入操作 */ @Test public void test001() throws Exception { FileChannel inChannel = null; FileChannel outChanne...
2020-02-11 16:42:57
215
原创 list分页工具类
import java.util.ArrayList;import java.util.List;public class ListUtils { /** * * @methodDesc: 功能描述:(list 集合分批切割) * @param: @param * list * @param: ...
2020-02-11 16:41:13
231
原创 MySQL 中Blob类型数据的插入和读取
我们在操作数据存入blob数据的类型,常用来存储头像图片等流数据,blob类型如果想要存储比较大的流文件的数据,建议选用longBlob的数据类型,Demo中的数据就简单的示范了一下,sql文件如下:DROP TABLE IF EXISTS `image_save`;CREATE TABLE `image_save` ( `image_name` varchar(2...
2020-02-09 12:57:10
3500
原创 Mysql插入中文的字段内容时乱码的解决方法
Mysql插入中文的字段内容时乱码的解决方法 1.我们在往数据库插入数据的时候,当遇到中文字符的插入时会发现插入的数据会变为?号,也就是乱码,如下所示:image.png 2.这时候我们使用如下的查询语句可以看到相应的字符集编码:show variables like '%char%';[图片上传失败...(image-33d826-155626...
2020-02-09 12:56:56
173
原创 java中Memcache的使用
java中Memcache的使用一、什么是Memcached? Memcached是danga.com开发的分布式内存对象缓存系统,所谓分布式,意味着它不是本地的,而是基于网络连接完成服务。Memcached把一些数据通过key=value数据存储到内存中,这样访问更加方便快捷。但是随之而来的问题是如果Memcached关闭或者Memcached的服务器关闭那么所保存的内...
2020-02-09 12:56:34
255
原创 使用Zookeeper实现负载均衡轮询例子
1.原理 使用Zookeeper实现负载均衡原理,服务器端将启动的服务注册到,zk注册中心上,采用临时节点。客户端从zk节点上获取最新服务节点信息,本地使用负载均衡算法,随机分配服务器。2.实例代码相关Maven依赖: <dependencies> <dependency> <grou...
2020-02-09 12:50:25
295
原创 基于线程安全的缓存工具类 CacheUtil
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.util.concurrent.*;/** * @author * @date 2019/12/13 * @desc 基于线程安全的缓存工具类 */public class CacheUtil { private s...
2020-02-08 13:23:31
1275
原创 springboot数据库连接
package com.hello.demo.datasource;import javax.sql.DataSource;import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring...
2020-02-08 13:22:21
103
最全Linux+mysql+jquery+redis+css+w3cSchool的API帮助手册大集合
2018-09-02
VB软件+论文素材+实战项目合集+学生管理系统+俄罗斯方块+图书管理系统超值
2018-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人