logo头像

不忘初心 方得始终

java

Spring-AOP两种配置方式

引言AOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心功能毫无关系对于其他类型的代码,如安全性、异常处理和透明的持续性也都是如此,这种散布在各处的无关的代码被称为横切(cross cutting),在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。…

JAVA实现HTML转PDF

​ 最近公司里面有一个任务,在线题卡,就是把客户在线编辑的题卡样式保存下来,然后可以导出为PDF格式。于是上网找了一系列的资料,找到了以下两种方法: 使用wkhtmltox 使用iText+Flying Saucer 但是还是强烈推荐用第一种方法。…

JAVA定时调度 Timer和Executors

近期在公司做了一个关于定时执行任务的功能(没有使用框架定时),查了一下资料,有Thread、Timer和Executors三种方法,之前使用的是Timer,但是详细查了资料觉得Executors更优,所以在这里比较一下它们的区别。…