0%

Flowable是一个使用Java编写的轻量级业务流程引擎。Flowable流程引擎可用于部署BPMN 2.0流程定义(用于定义流程的行业XML标准), 创建这些流程定义的流程实例,进行查询,访问运行中或历史的流程实例与相关数据等,众所周知,Flowable是Activit的一个分叉,Flowable的第一个版本(5.22.0)是基于Activit(5.21.0),关于为什么Flowable会从Activit分叉,感兴趣可以查看Flowable官方的文章Flowable and Activiti: What the Fork?!,这里不在赘述这些内容

阅读全文 »

google-developer-days

连续三年申请参加 Google Developer Days,今年终于中签了,而且和好友大蛇丸及公司同事同时中签(可能是我们都使用了忍术)。嗯,终于离404公司又进了一步,哈哈哈~
废话不啰嗦了,这篇文章就唠唠参加 GDD 的前前后后。

阅读全文 »

在实际开发过程中,不管是服务端(Java),还是客户端(Android)都需要创建对应的实例bean对象,用来实例化对象,在对需要实例化的对象中,通常需要写 setget 方法,字段少的时候,还能忍受,尤其当客户端字段多的时候,而且字段类型或者字段名称来回改动时,稍不注意,就很大机率修改不全面,就会造成一些隐藏bug,有没有不需要手动取写(快捷键生成)这些方法,当然有,本片文章,我们就来学习 Lombok

Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more(Project Lombok是一个java库,可以自动插入编辑器并构建工具,为您的java增添色彩。 永远不要再写另一个getter或equals方法,使用一个注释,你的类有一个功能齐全的构建器,自动化你的日志记录变量等等),这是官方对Lombok的介绍,简单来讲就是通过注解的方式,代替一些重复性的代码,让代码更加简洁

阅读全文 »

关于 SpringBoot 配置文件,在之前的文章中已经提到配置文件格式,主要是两种格式的配置,这里并没有哪个配置写法一定优于另一种写法,对于配置文件名(application.yml 或者 application.properties),可以更改,为了减少不必要的麻烦,不建议修改,本篇文章以 yml 文件作为示例

阅读全文 »

背景

和朋友一起维护的开源组织(我就是打个辅助,逃~),其中有一个系列的项目,这些项目统一通过 base 项目的 pom 文件管理这个系列项目依赖的第三方 jar,其他一些辅助项目(如:tools)项目主要是一些常用工具方法的封装,为了能让我们在不同机器,不同地点能够无缝切换,更重要的让使用的伙伴能以最简便的方式运行(避免不必要的配置),我们需要把通用的东西托管起来,那么就需要将这些配置依赖或辅助 jar 托管到 Maven中央仓库,话不多说,就跟着我的步骤来看看如何将 jar 发布到 Maven中央仓库

阅读全文 »

在 SpringBoot 系列的第二篇文章中,已经详细分析了 SpringBoot 的启动过程,那么这篇文章,我们通过源码调试的方式来验证我们的分析,首先我们在控制台中输入 java 命令,可用输出 JDK 给我们提供了一些命令,其中-agentlib命令就是本篇文章所介绍,用于我们进行源码调试

阅读全文 »

我们在开发过程中,使用 java -jar you-jar-name.jar 命令来启动应用,它是如何启动?以及它如何去寻找.class文件并执行这些文件?本节就带着这两个问题,让我们一层层解开 SpringBoot 项目的 jar 启动过程,废话不多说,跟着我的脚步一起去探索spring-boot-load的秘密。

SpringBoot(一) 初识已经解释了为什么在编译后的 jar 中根目录存在org/springframework/boot/loader内容,以及为了方便学习研究,我们需要在项目的依赖中导入org.springframework.boot:spring-boot-loader依赖。同时我们在解压的you-jar-name.jar文件中,查看对应的清单文件 MANIFEST.MF 内容,其中明确指出了应用的入口org.springframework.boot.loader.JarLauncher因此我们就从JarLauncher开始一步步深入

阅读全文 »

springboot

从本篇文章开始,记录学习 SpringBoot框架在实践,源码方面的知识,本节是第一篇,因此不涉及相关复杂知识的学习。众所周知,随着微服务的广泛流行,Spring 系列的 SpringBoot 和 SpringCloud 的应用也更受欢迎,那么请跟随我的脚本来一步步解开 SpringBoot 她神秘的面纱

阅读全文 »

在学习过程中,我们首先需要将学习知识的基本概念搞清楚,而搞清楚概念最权威的方式是查阅 英文版 • 维基百科 ,或者是对应知识的官方文档上面查找相关的知识。这样学习才能学习到知识的精华,而不是阅读经过别人转译过的文章。因此,这篇文章仅是本人在学习 SOA 基本概念时,对维基百科知识的一个汇总翻译记录,不建议朋友把这篇文章当做你的学习资料,具体请查阅Service-oriented architecture

面向服务的架构(SOA)是一种软件设计风格。 SOA 服务通过应用组件,通过网络通信协议的方式向其他组件提供服务。SOA 的基本原则是独立于厂商,独立于产品以及独立于技术[1]。服务是一种功能的离散独立单元,可以远程访问并独立运行与更新,例如在线查询信用卡账单。

阅读全文 »