[TOC]
背景
最近正式环境出现一起事故,业务端经过一些列的业务逻辑之后,使用wkhtmltopdf工具进行html转换为pdf,但出现生成完成之后(正常结束,并未发生异常)业务端再次获取这个pdf文件时,出现文件不存在问题。
[TOC]
最近正式环境出现一起事故,业务端经过一些列的业务逻辑之后,使用wkhtmltopdf工具进行html转换为pdf,但出现生成完成之后(正常结束,并未发生异常)业务端再次获取这个pdf文件时,出现文件不存在问题。
公司内部为了SQL脚本可管理、可重复执行,每个版本提交的每个脚本都需要填写对应的版本、负责人、版本号、具体脚本等信息并确保脚本可重复执行,但是基础具体的SQL之外,其他需要填写的信息都属于重复操作,所以想着写一个工具来代替重复操作,只需要编写具体的SQL,其他信息根据配置自动生成,由于脚本需要允许可重复执行,故需要对编写的执行SQL进行词法分析,提取其中的数据库实例名称、数据表名、字段名、索引名等信息,在引入德鲁伊的词法分析器之后,感觉使用起来非常简单,需要什么类型的脚本,打入什么类型的实体即可,看了一下源码,词法分析器是采用访问者模式设计的。
spring事件监听机制实际上就是一个典型的观察者模式,在观察者模式的基础之上进行的抽象和处理。使得开发者可以根据自己的业务特点依附于spring容器进行事件的注册、发布、处理。
HandlerAdapter是Handler的适配器,每种类型的Handler都对应一个HandlerAdapter。
在顶层接口HandlerAdapter的实现中,基本上都是直接具体的实现。
HandlerMapping处理器映射器,是SpringMvc的核心组件之一,用来根据请求的request信息查询对应的Handler,在web环境中,每个请求都需要一个对应的Handler来处理,所以当接收到一个请求,需要哪一个Handler来处理,HandlerMapping的作用就是找到处理的那个Handler。
SpringMvc是基于spring在web领域进行开发的框架,使得业务开发者无需关心Servlet组件的逻辑处理,让业务开发者仅需要关心业务逻辑的处理。
BeanFactoryPostProcessor是spring中一个很重要的扩展点,它与BeanPostProcessor长相类似,触发点略有不同。BeanFactoryPostProcessor的作用时期是在所有bean实例化之前。所以它的作用是加载BeanDefinition。或者可以动态的修改或者是新增BeanDefinition。