- 博客(65)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 springboot jpa 动态加载 追加 切换数据源 支持启动无数据源
LCCP-DYNAMICDB-STARTERSpringboot动态追加数据源🚀 动态追加切换,线上灵活运行🚀![在这里插入图片描述](https://img-blog.csdnimg.cn/fd5b166c94ec4a02b7ff6dfc49a82b75.png#pic_center)LCCP(lower-code-create-platform)是一系列的微服务和starter包的出包平台的简称LCCP-DYNAMICDB-STARTER是针对springboot项目提供数据源的动态控制...
2022-05-11 13:51:09 923
原创 设计模式之观察者模式(三)
回调函数和观察者模式1 回调函数2 观察者模式1 回调函数接上篇小王睡觉之后,第二天起床上学,老王看到小王出门后,决定让老师通知自己小王的去向,于是设计了一个回调模式1、给老师一个通话的接口:interface Callback { boolean onCall();}2、老王安排一个执行顺序:abstract class Holder { /** 小王出门 */ public abstract void run(); public final void
2020-06-27 16:33:32 281
原创 设计模式之备忘录模式(二)
接上一篇适配器模式的剧情,老王和小王不知不觉玩超级玛丽玩到了23:00,这时老王考虑到自己第二天要上班,小王要上学,不能再玩了,于是乎和小王讨论,要关闭游戏,但是小王坚决不同意,因为马上就快通关了,不想重头再打一次,老王这时候突然想到,小霸王有一个功能是能记录游戏状态,老王找到游戏保存的功能,但是小王有点不相信老王,于是乎老王给小王展示了归档和记录的细节。1、游戏内的归档和读档/** * 游戏本身记录按钮 */class SuperMarieGame { /** 待保存的游戏关卡 */
2020-06-27 11:41:26 232
原创 设计模式之适配器模式(一)
先假设一个场景,老王和小王在小霸王上玩魂斗罗1、建立魂斗罗接口/** * 魂斗罗的接口 */interface Contra { String playContra();}2、魂斗罗功能实现类/** * 魂斗罗实现类,模拟功能 */class ContraImpl implements Contra { @Override public String playContra() { return "魂斗罗,LOADING..."; }
2020-06-27 10:48:42 197
原创 Tomcat介绍及调优
1. DFWS(Dynamic Form WorkFlow Service)开发的必要性由于OA系统的特性,工作流能解决很大一部分的任务流转的代码开发量,但是在项目开发的过程中,作为组件使用的表单和工作流也有不小的开发量,而且由于每次的开发人员不同,可能导致约束和功能不同,导致后期维护比较麻烦,所以希望有一个共同维护的工作流服务来与项目本身解耦,将其脱离出来,便于日后其他项目使用。希望其具备的...
2020-06-21 12:12:17 571
原创 数据库常用索引结构介绍
这里写目录标题1 二叉树2 红黑树(jdk8 HashMap)2.1 红黑树增加数据2.2 删除数据3 HASH4 BTREE5 B+Tree(MYSQL)6 MyISAM索引实现(非聚集,存储引擎是表级别的不是数据库级别的)7 InnoDB索引实现(聚集)8 联合索引1 二叉树二叉树,左孩子小于父节点,小于右孩子,父节点小于右孩子,如下图所示:但是,二叉树可能出现单边增长的态势,会导致磁盘IO开销增大,性能低下,如下图所示2 红黑树(jdk8 HashMap)hash树,又叫红黑树,有自平衡
2020-06-20 11:29:18 2704
原创 WEB性能优化的目的与优化步骤
性能调优总结1 性能调优的目的2 监控篇(ps:tongweb自带jvm监控)1.1 jps使用步骤(前提 hostname -i 可以看到准确的ip)1.2 jstat使用步骤1.3 jmap 使用1.4 jvisualvm使用3 性能分析篇3.1 性能分析方法3.2 单机性能分析与调优3.3 性能分析流程3.4 系统性能关注点配置优化1 性能调优的目的目的:使系统达到以下三个标准高可用:通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的可用性高可靠:产品在规定的条件下,在规定
2020-06-18 21:31:32 1457
原创 元数据管理
元数据管理1. 数据库表设计1.1. 元数据表1.2. 表单表1.3. 业务对象化表2. 设计思路2.1. 完全动态(理想状态)2.1.1. 以人员为例:2.1.2 以流程为例2.2. 静态设计2.3. 半静半动1. 数据库表设计id 创建时间 更新时间,等通用属性不在此标出;1.1. 元数据表uniqueRemarknamevarTyperegexvalue...
2020-04-24 16:40:59 1722
原创 hibernate-search学习文档
1、hibernate-search介绍Hibernate Search是在apache Lucene的基础上建立的主要用于Hibernate的持久化模型的全文检索工具。像Lucene这样的检索引擎能够给我们的项目在进行检索的时候带来非常高的效率,但是它们在基本对象的检索时会有一些问题,比如不能实现检索内容跟实体的转换,Hibernate Search正是在这样的情况下发展起来的,基于对象的检索...
2020-03-30 11:33:07 408
原创 全文检索技术调研
全文检索全文检索的技术有很多,由于软件使用数据库种类的不确定性,所以抛弃了在数据库上做全文检索的念头。那么,接下来就需要找一个能替代db进行全文检索的框架了。Lucene是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用...
2020-03-30 10:07:14 177
原创 Activiti6.0.0拓展支持的数据库,以达梦为例子
起因工作流基本环境的搭建在此就不做过多的赘述了,在达梦的官微也介绍了如何在activiti上如何结合,但是结合的方式过于死板,如果想通过xml来配置使用何种数据库,正好你又看到了这篇文章,那么可能会节省你半天的时间。首先org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl这个类,从它的jar包中copy出来,然后在 pub...
2020-03-27 19:23:48 5850 9
原创 解决前后端跨域问题
配置一个corsFilter代替原来的拦截器package com.sdt;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfig...
2020-02-02 11:00:14 165
原创 ElasticSearch基础环境准备
Spring与ES整合使用1、 准备工作1.1 elasticsearch7.3.2 下载1.1 elasticsearch-head图形化管理界面下载1、 准备工作了解ES和solr的区别,两者都是基于lucene的全文检索引擎,两者之间的区别有什么。1、solr在实时的操作数据时,会IO阻塞,导致性能下降。2、es不需要zookeeper进行集群管理也可使用;3、es仅支持JSO...
2020-01-02 08:56:20 511
原创 工作流结合动态表单的工作流程
1、根据activiti流程画完之后调用deploy接口(http://127.0.0.1:9527/eims/dev/proc/deploy)返回流程保存成功,这时候会存两张表,一张activiti的部署表,一张是业务对象表;2、接下来动态表单绘制前会获取全部的业务对象,调用http://127.0.0.1:9527/eims/business/obtainAllBusiness返回:...
2019-11-11 18:08:05 1611
原创 activiti的事务在jpa的情况下和spring不统一
配置文件如下即可:<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns...
2019-11-11 17:16:25 555
原创 Activiti外置表单的简单实现
这里只做演示,先写两个表单start.jsp<div> <span style="color: green;">开始表单: <input type="text" name="days" /></span></div>task.form<div> <span style="color: red;">任...
2019-09-30 10:34:38 1669
原创 Activiti的监听器类中使用Service
在网上看到一位大神是这样写的,终于解决了我的问题,深表感谢。新建一个工具类package com.example.activiti.utils;import org.apache.commons.lang3.Validate;import org.springframework.beans.factory.DisposableBean;import org.springframew...
2019-09-25 15:46:35 976
转载 Activiti工作流配置
工作流的配置方法有三种:1、<activiti:executionListener event="end" class="com.daling.ch1.listener.MyExecutionListener">2、<activiti:taskListener event="create" delegateExpression="${bossTaskListener}"&g...
2019-09-25 14:21:08 703
原创 Activiti中的RuntimeService测试
//会给每个节点都添加监听器 runtimeService.addEventListener(listenerToAdd); User shr = identityService.newUser("shr"); shr.setId("12313123"); identityService.saveUser(shr); Group group = identityServic...
2019-09-22 17:11:45 1065
转载 工作流流程监听器定义
定义流程监听器package com.example.activiti.listener;import org.activiti.engine.delegate.DelegateExecution;import org.activiti.engine.delegate.ExecutionListener;import org.activiti.engine.delegate.Expres...
2019-09-22 16:44:29 1370
原创 Activiti6.0 javaDoc翻译
org.acitviti.engineFormService:API返回值描述getRenderedStartForm(String processDefinitionId)StartFormData将当前节点的表单的key输出,即表单定义的值getRenderedStartForm(String processDefinitionId, String form...
2019-09-22 11:17:19 620
原创 Activiti6.0的主要表的表结构中的关键字段和对应的实体
ACT_RE_DEPLOYMENT【DeploymentEntityImpl】关键字段描述ID_主键NAME_名称CATEGORY分类TENANT_ID多租户标志DEPLOY_TIME_部署时间KEY_标志KeyENGINE_VERSION_兼容版本 (6.0有了可以兼容5版本的)ACT_RE_PROCDEF【Proce...
2019-09-16 20:30:18 955
原创 Activiti6.0的一些小功能
1、通过自建的命令查询流程定义 /** * 通过自建的命令查询流程定义 */ @Test @Deployment(resources = {"my-process_job.bpmn20.xml"}) public void testCommand() { activitiRule.getRuntimeService().start...
2019-09-16 19:09:03 392
原创 在Activiti6.0中设置定时任务
1、在startEvent中加入<startEvent id="start"> <timerEventDefinition> <!-- 意思是10秒执行五次 --> <timeCycle>R5/PT10S</timeCycle> </timerEventDefinition>...
2019-09-16 19:04:23 3218
原创 在Activiti6.0中自定义SQL语句范例
· 1、写一个Mapper接口:public interface MyCustomMapper { /** 为了减少映射关系的工作量 */ @Select("SELECT * FROM ACT_RU_TASK") List<Map<String, Object>> findAll();}2、在activiti.cfg_mdc.xml配置...
2019-09-16 19:02:47 1826
原创 针对Activiti6.0的formService的测试
FormService简介:formService主要是用来在流程中处理表单内容的,在学习formService之后,发现启动方式除了调用runtimeService中的startProcessInstanceById 或者startProcessInstanceBykey等方法紫外还有formService的方法如下: //通过form服务启动 Map<String, ...
2019-09-16 18:58:03 899
原创 测试activiti中的taskService
my-process-task.bpnm20.xml文件内容如下:<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...
2019-09-16 11:37:22 2551
原创 Activiti6.0对于trigger、signal、message的区别于测试
trigger的配置与测试文件内容如下流程定义文件:<process id="my-process"> <startEvent id="start"/> <sequenceFlow sourceRef="start" targetRef="someTask" id="flow1"/> <receiveTask id="som...
2019-09-15 20:31:33 1918
原创 Activti6.0通过运行时服务修改流程定义的内容
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().singleResult(); Map<String, Object> map = Maps.newHashMap(); map.put("key1", "value1"); map.put("...
2019-09-15 20:24:01 339
原创 Activiti6.0中流程的暂停、重启与指定人或组执行
注意:如果不是与spring整合使用,则使用activitiRule进行测试,原理相同1、流程的暂停 Deployment deploy = repositoryService.createDeployment().name("部署实例暂停启动") .addClasspathResource("my-process.bpmn20.xml") .deploy(); Proc...
2019-09-15 20:21:45 1980
原创 测试Activiti中的MDC流程跟踪(与spring整合)
1、测试Activiti中的MDC流程跟踪1、配置activiti.xml配置文件,内容如下: <!-- 覆盖引擎的配置 --> <bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> ...
2019-09-15 20:15:53 395
原创 Activiti6.0基于SpringMVC和JPA的整合案例分析
1、Acitviti6.0Activiti6.0在5.2版本的基础上将表的细致性更新了,同时表的数量上多了近一倍。而且也没有了5.2版本的activiti-explorer的官方demo,取而代之的是activiti-app,这个demo的使用方法与activiti-explorer的使用方法类似。将activiti6.0的官方demo下载下来之后解压为activiti-6.0.0,打开目录,...
2019-09-13 15:19:46 815
原创 JPA更新部分字段的注解方法(动态HQL)
@Modifying(clearAutomatically = true) @Transactional(rollbackFor = Exception.class) @Query(value = "UPDATE user u set " + "u.weixin_name = CASE WHEN :#{#user.weixinName} IS NULL THEN u.weixin_nam...
2019-04-04 15:05:53 3665
原创 19个人围成一个圈 到3的倍数淘汰 求最后留下的人的坐标- JAVA
思路:一个MAP中的key - 坐标 value - 口号public static void main(String[] args) { //座位和口号的关系 HashMap<Integer, Integer> site = new HashMap<Integer, Integer>(); for (int i = 0; i < 19; i++) ...
2019-03-11 20:26:01 311
原创 动态规划之硬币找零
有面值为 1 2 3 的三种硬币,数量不限,拼凑成各种整额的面值,求使用最少的硬币。思路:输入指定面额,第一层循环是面额,因为最坏的情况是使用1块钱的硬币凑够指定面额;第二层循环,遍历面额的数组,看面额是否符合要求;public static void main(String[] args) { //面额 int[] coin = {5,3,1}; //整数 int money =...
2019-03-11 19:02:53 171
原创 自动推荐商品
问题:list迭代出来的数据,怎么通过jquery获取?答:$("父级id").click(function(){ $(this).find("标签").attr("属性");});收集用户数据,对用户数据进行保存,但是在用Mybatis返回数据数据实体类的时候,由于数据实体类中还存在一个List<实体类>,一直报参数返回不正确,于是在mybatis官网找,找到了...
2019-02-15 20:09:26 526
原创 自制音乐播放器 素材取自网络
<html xmlns:th="http://www.thymeleaf.org"><head> <style type="text/css"> .Audio{position: relative; width: 500px; margin: 0 auto;} .pgs{width: 326px; margin: 0 aut...
2019-02-14 12:01:22 869
原创 新喜剧之王观后感
网上一直说星爷炒冷饭,必定是烂片,如果星爷的电影单纯的从喜剧的角度观看,确实算好的电影,但是星爷电影的内涵,却是其他人模仿不来的,每个年龄段都能得出自己的感悟,所以这也是我一直喜欢看星爷电影的原因,重复观看星爷的经典电影,每次都能看下去,不像某些喜剧片,第二次看会恶心;这部电影有两条主线:开篇一个龙套角色类似于星爷当年的龙套角色,但是比星爷好的是她有自己的名字,不过除了家人没人会叫他的名字...
2019-02-05 23:01:55 4033
原创 毕设 - 订单表 商品表 和 订单商品表的设计
订单 和 商品 ,从订单的角度来说,一个订单可以有很多商品, 一个商品也可以对应多个订单, 这是毋庸置疑的,然而都需要对应一个userid,如何需要把他们联系起来呢?首先我作为一个开发者,联想到手机app中,点击我的,首先映入眼帘的应该是所有订单的总览订单表中的order_id应该是唯一的,但是订单商品表中的order_id和item_id应该是一一对应的 通过这样来在页面显示...
2019-01-27 20:48:21 8674 2
原创 毕设 - 首页开发
首页具有的功能,1、安全退出 - 本地删除身份标识,完毕2、跑马灯 - 动态展示商品 (问题:最后一张图片有地址,却显示空白,问题解决,CSS错误) 完毕3、搜索功能 - 暂时依靠数据库的模糊查询(后改为全文检索)4、展示商品(完毕)5、商品详情,打开之后,细分为立即购买,加入购物车,加入收藏夹;立即购买,点击之后跳转到结算页面,结算页面包含收货人信息和商品信息(稍...
2019-01-26 12:33:35 214
TA创建的收藏夹 TA关注的收藏夹
TA关注的人