- 博客(16)
- 收藏
- 关注
原创 spring 获取bean 过程
spring 获取bean 过程, 其在AbstractBeanFactory将bean 名称转换为实际的bean名称,实际逻辑为移除工厂bean名称前缀,如果是别名则找到实际名称按照bean名称从单实例中获取,如果有且参数为空则使用单实例的bean否则开始创建。创建流程,3.1 判断当前线程是否已在创建,如果在创建说明是循环引用,所以抛出异常3.2 如果本beanFactory 不存在beanDefinition,且存在上级beanFactory,从上级beanFactory 中获得,3.
2021-07-21 10:49:53
360
原创 activiti 流程设计模型(model) 和 部署(deployment)及流程定义(processDefinition)之间的关系;
##流程设计模型(model) 和 部署(deployment)及流程定义(processDefinition)之间的关系;model 内仅仅保存了流程定义的规则;deployment 和 processDefinition 之间是一一对应关系,一个deployment对应一个processDefinition;processDefinition 的版本信息只与 processId有关系,也就是processDefinitionKey,这个值在流程定义时存在; 与model的其他信息无任何关系,不能
2021-04-08 16:44:16
3807
原创 activiti 在线流程设计器汉化 并与springboot集成
与springboot集成pom文件加入依赖<!-- web mvc 和数据库的依赖忽略--><!--- activiti 与springboot 集成---><dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId>
2021-04-08 16:04:40
510
原创 activiti 7源码解析 之数据库访问
activiti 数据库访问核心接口 DataManager, 其标识如何访问实体,其子接口代表了各个实体的具体类型,package org.activiti.engine.impl.persistence.entity.data;import org.activiti.engine.impl.persistence.entity.Entity;/** */public interface DataManager<EntityImpl extends Entity> { .
2021-03-31 12:31:43
571
1
转载 activiti源码解析 1
摘自 https://blog.youkuaiyun.com/bluejoe2000/article/details/41790771Activiti是业界很流行的java工作流引擎,关于Activiti与JBPM5的关系和如何选择不是本文要讨论的话题,相关内容可以baidu一下。Activiti从架构角度看是比较优秀的,是很面向对象的,是我所阅读过的代码结构很棒的开源软件,个人认为比Spring,Hibernate的要好。Activiti的基础编程框架Activiti基于Spring,ibatis等开源中间件
2021-03-31 11:10:02
415
原创 shiro 登录流程
登录过滤器 AuthenticatingFilter protected boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception { // 从request参数中创建token, AuthenticationToken token = createToken(request, response); if (token == null) {
2020-11-08 10:08:44
389
原创 shiro构建subject流程
AbstractShiroFilter 中执行流程 Throwable t = null; try { // 包装 request 和 response final ServletRequest request = prepareServletRequest(servletRequest, servletResponse, chain); final ServletResponse response = prepareServletResponse(request, serv.
2020-11-08 09:48:48
267
原创 springbootjpa之hibernate sql拦截器
springbootjpa之hibernate sql拦截器解决问题,数据查询权限问题;原理:通过拦截sql语句,然后解析sql语句,加入自定义查询条件,做到数据权限拦截;hibernate 文档之接口hibernate 文档描述5. 然后通过springboot 配置 spring.jpa.properties.hibernate.session_factory.statement_inspector=自己的拦截器,然后在拦截器内解析sql,并完成数据权限实现。...
2020-10-23 18:23:06
3300
原创 Java之JUC locks包锁实现
Java之JUC locks包锁实现ReentrantLock 可重入锁 基于线程队列来实现首先看锁持有者线程 AbstractOwnableSynchronizer,其内部仅仅包含一个执行线程public abstract class AbstractOwnableSynchronizer implements java.io.Serializable { protected AbstractOwnableSynchronizer() { } // 执行线程
2020-10-23 17:33:52
207
1
原创 javafx 使用webview
javafx 使用webview 加载网页,可以看做是一个内嵌的浏览器。c/s 架构快速开发的一个可选方案。import javafx.application.Application;import javafx.application.Platform;import javafx.beans.value.ChangeListener;import javafx.beans.value.ObservableValue;import javafx.scene.Scene;import javafx.
2020-10-23 17:32:11
1576
原创 Java JUC 之 atomic包下原子性操作
Java JUC 之 atomic包下的类是原子性操作;其基于sun.misc.Unsafe类;Unsafe 类是直接操作内存的一个类;其原子性就是基于Unsafe 来直接操作内存;以AtomicBoolean 源码来看// setup to use Unsafe.compareAndSwapInt for updates // 首先获取Unsafe 引用 private static final Unsafe unsafe = Unsafe.getUnsafe(); // 获取
2020-08-17 19:38:06
331
原创 Java之sun.misc.Unsafe直接操作内存
基于openJDK1.8 源码;Unsafe 类直接可操作内存,对于Java是非常不安全的,所以基于这种考虑jdk做了如下安全措施禁用反射获取Unsafe 类对象,静态块,在class 加载时执行 static { registerNatives(); sun.reflect.Reflection.registerMethodsToFilter(Unsafe.class, "getUnsafe"); }只能系统类加载器加载, @Caller
2020-08-17 19:16:22
666
原创 poi excel密码加密
poi excel密码加密poi excel 加密,仅仅支持excel2007版本,也就是xlsx结尾的;// 导入的包有import org.apache.poi.openxml4j.opc.OPCPackage;import org.apache.poi.openxml4j.opc.PackageAccess;import org.apache.poi.poifs.crypt.EncryptionInfo;import org.apache.poi.poifs.crypt.Encryptio
2020-08-15 19:21:26
2780
1
原创 JDK 14 新特性
JDK 14 新特性JEP 305 instanceof 模式匹配(预览)一个简单的例子,原来的写法:if (obj instanceof String) { String s = (String) obj; // use s}现在的写法:if (obj instanceof String s) { // can use s here} else { // can't use s here}JEP 343 PackaingTool(Incubato
2020-08-07 17:24:19
194
原创 WebCollect爬虫 之Fetcher 抓取器解析
WebCollect爬虫 之Fetcher 抓取器解析上一篇写了WebCollect的核心类Crawer知道了爬虫启动过程这篇编写Fetcher 抓取器解析 // dbManager 数据Url 管理器 ,由Crawer set public DBManager dbManager; // 实际 从datum 中获取数据并处理,下一个任务, 由Crawer set public Executor executor; // 下一个任务URL 的过滤器, 由Crawer set
2020-07-17 15:50:46
527
原创 WebCollector 爬虫解析
WebCollector 爬虫解析WebCollection 爬虫核心类 cn.edu.hfut.dmic.webcollector.crawler.Crawler protected int status; //运行状态 public final static int RUNNING = 1;// 运行状态 运行中 public final static int STOPED = 2; // 运行状态 停止 protected boolean resumable = f
2020-07-17 15:06:54
544
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人