
Java
文章平均质量分 67
漫漫蜗牛路
简直最大的敌人是复杂,如果把复杂事情简单了,就是巨大进步!
展开
-
开源库openhtmltopdf html 转pdf特殊字符适配
HTML转PDF特殊字符原创 2022-01-21 11:11:06 · 3435 阅读 · 0 评论 -
开源库 openhtmltopdf 将 html 转 为 pdf 页面优化、美化的不得不知道的经验
image概述在我们项目中会使用freemark 生成 html,然后用 html 转 pdf。那么美化是必不可少的程序。页面设置页面大小设置可以在style中设置如下属性修改页面大小。可以通过size 设置任意大小的page(不能是百分比),也可以设置标准的页面大小,如a4, a5, a3, b3, b4, letter, legal,ledger理论上...原创 2019-09-26 17:45:40 · 7573 阅读 · 1 评论 -
freemark 踩坑之旅-使用openhtmltopdf 将 html 转 为 pdf分页问题
image概述想要做出比较美观的pdf ,比较好的实现方式是使用html 转 pdf。后端生成html可以使用 freemark 去实现。由于很多时候freemark 中的数据是动态的,所以生成的html 也是动态的。很难排版,无法确定分页位置。那么在转pdf 的时候就面临分页的问题,特别是表格。一个表格被分割成两页,不仅影响美观,查看数据也不是很方便,如下所示...原创 2019-10-12 22:39:59 · 4198 阅读 · 3 评论 -
那些高端、优雅的注解是怎么实现的<4> -- 使用Annotaion Processing Tool 解析注解
概述注解的解析可以通过反射,但反射的性能较低。所以在移动平台上,如安卓端使用,那是得不偿失的。那么Android 端如何解析注解的呢?Android 端使用 apt 解析注解。然后使用自动生成的代码实现需要的逻辑。自定义注解系列文章那些高端、优雅的注解是怎么实现的<0> – 注解的分类那些高端、优雅的注解是怎么实现的 <1> – 自定义注解语法那些高端、优雅的注...原创 2019-10-17 19:34:54 · 118 阅读 · 0 评论 -
那些高端、优雅的注解是怎么实现的<0> -- 注解的分类
概述此文仅仅讲解注解的分类,让你对注解有个大概的认识,形成一个概念。如果你对注解比较熟悉或者不想看这么浅显的东西,可以直接下一篇。此系列文章,我将从最基础的分类开始,一直到最后完成一个自定义实战项目为止。循序渐进,图文结合,希望既清晰白话,又经济实用。但限于本人能力有限,不足之处,烦请指出。另本系列文章多处借鉴刘果国老师的文章,再次感谢老师的辛勤付出。自定义注解系列文章那些高端、优雅的注解...原创 2019-10-17 19:33:14 · 101 阅读 · 0 评论 -
那些高端、优雅的注解是怎么实现的 <1> -- 自定义注解语法
概述使用元注解来定义我们自己的注解,就是自定义注解。一个自定义注解可能像下面这样@Target({ElementType.TYPE,ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Inherited@Documentedpublic @interface Message { String decr() defau...原创 2019-10-17 19:32:03 · 145 阅读 · 0 评论 -
那些高端、优雅的注解是怎么实现的<2> -- 解析注解q
概述通过反射获取类、方法或成员上的 运行时 注解信息,从而实现动态控制程序运行逻辑,这也是注解的魅力所在。当然反射是比较影响性能的一种方式,在手机端是不适用的。但手机端也有很多注解类框架,那么他们是怎么实现的呢?那就是使用 APT 解析 编译时 注解。在编译时会通过注解标示来动态生成一些 Java 代码或者 xml,而在运行时,注解已经不存在了,它会依靠编译时生成的 Java 代码来实现我们需...原创 2019-10-17 19:30:20 · 121 阅读 · 0 评论 -
那些高端、优雅的注解是怎么实现的<3> - 可继承性@Inherited
这是一个看起来让人迷糊的特性,所以我拿出一个章节来说明,然而它并没有那么重要。自定义注解系列文章那些高端、优雅的注解是怎么实现的<0> – 注解的分类那些高端、优雅的注解是怎么实现的 <1> – 自定义注解语法那些高端、优雅的注解是怎么实现的<2> – 解析注解那些高端、优雅的注解是怎么实现的<3> - 可继承性@Inherited那些...原创 2019-10-17 19:28:53 · 121 阅读 · 0 评论 -
那些高端、优雅的注解是怎么实现的<5> --使用Annotaion Processing Tool 自定义注解
一:概述上一篇我们用普通的方式完成了披萨店的代码,下面我们用注解的方式去实现,彻底解决这个需求的痛点。自定义注解系列文章那些高端、优雅的注解是怎么实现的<0> – 注解的分类那些高端、优雅的注解是怎么实现的 <1> – 自定义注解语法那些高端、优雅的注解是怎么实现的<2> – 解析注解那些高端、优雅的注解是怎么实现的<3> - 可继承性...原创 2019-10-17 19:26:58 · 184 阅读 · 0 评论 -
那些高端、优雅的注解是怎么实现的<6> --自定义持久层框架-类 Hibernate
概述上一篇我们用apt,实现了一个自动生成工厂类的实例。这篇我们使用反射的方式去实现一个持久层框架,当然只是核心代码,并不是可以直接拿来使用的商业项目 ,类似于 Hibernate。自定义注解系列文章那些高端、优雅的注解是怎么实现的<0> – 注解的分类那些高端、优雅的注解是怎么实现的 <1> – 自定义注解语法那些高端、优雅的注解是怎么实现的<2>...原创 2019-10-17 19:23:31 · 115 阅读 · 0 评论 -
那些高端、优雅的注解是怎么实现的--总目录
概述这是一系列文章,通过java注解的详细解析,期望您以后看到注解不在感到神秘。不管是现在后台开发的Spring家族,还是移动端的各种框架。如大神JakeWharton的butterknifte、Dagger2等 。 注解随处可见,所以我们必须理解学会注解。介绍首先我们会去搞清楚什么是注解?注解由那些元素组成?怎么去定义一个注解?注解为什么那么神奇的功效?它是怎么做到的?带着这些疑问我们从最...原创 2019-10-17 19:17:46 · 101 阅读 · 0 评论 -
HttpURLConnection 网络请求最佳实践
概述在Android开发中网络请求是最常用的操作之一, Android SDK中对HTTP(超文本传输协议)也提供了很好的支持,这里包括两种接口:标准Java接口(java.NET) —-HttpURLConnection,可以实现简单的基于URL请求、响应功能;Apache接口(org.appache.http)—-HttpClient,使用起来更方面更强大。但在android AP...原创 2019-10-17 19:15:11 · 472 阅读 · 0 评论 -
静态内部类和非静态内部类的你真的懂吗?
一:静态内部类:又叫静态嵌套类,静态内部类就是个独立的类,它不持有外部类的对象,自己完全可以独立存在。之所以要弄这么个东西,只是起到一个注释的效果,而且这个注释可静态检查。比如有A,B两个类,B有点特殊,虽然可以独立存在,但只被A使用。这时候怎么办?如果把B并入A里,复杂度提高,搞得A违反单一职责。如果B独立,又可能被其他类(比如同一个包下的C)依赖,不符合设计的本意。所以不...原创 2017-02-08 20:20:21 · 166 阅读 · 0 评论