
JAVA
文章平均质量分 81
DreamerJ
也不知道要随便写点啥
展开
-
Spring Boot 自动装配实现
之前写的一个TLV编解码库意外在Github上收获了一些星,所以趁着最近闲着,简单实现了一下Spring Boot的自动装配和Spring的注解装配。有关Spring Boot自动装配网上资料还是相当多的,简单步骤如下:1. POM引入自动装配相关依赖,设置<optional>为true,即不传递依赖; <dependencies> ...原创 2020-02-19 21:59:00 · 964 阅读 · 0 评论 -
Idea运行Spring Boot Gradle项目时有关Filter参数无法生效问题
Spring Boot使用Gradle进行项目管理时,也会使用Filter来进行打包时参数替换,特别是对于resources文件夹下的内容。如下所示,为resources下的数据初始化data.sql:INSERT INTO demo_system_info(version_code,version_id,update_time,description) VALUES('{{v...原创 2020-02-10 21:23:51 · 741 阅读 · 0 评论 -
Java注解处理(Annotation Processor)实战:Excel导出接口自动生成
距离之前的Java APT的相关文章已经过了接近半年时间,这半年间也做了一些有关APT的应用,最近趁着过年在家整理开源了一个Excel导出接口自动生成的项目至Github(https://github.com/DreamJM/DreamSpringExcel),各位要是喜欢可以点击链接去点个星支持一下。1. 需求&背景 在类似后台管理系统中,会有一些Tabl...原创 2020-01-29 01:20:27 · 744 阅读 · 0 评论 -
TLV格式数据JAVA编解码
电信系统中不少通信数据都采用TLV格式进行二进制编解码,而具体的TLV格式并无统一的规范,只能算是一种统称,其规定了数据中的相应字段都由Tag-Length-Value三要素组成,有些协议对于固定长度的字段也会使用TV格式,省略其中的Length。 最近针对工作中遇到的一种TLV格式消息,实现了一套编解码库(详细可参照TLVCodec)。目前可能并不能适用于所有TLV...原创 2018-12-09 22:30:45 · 2830 阅读 · 1 评论 -
Java性能测试相关小结
近期公司进行了相关项目的性能测试,经过大半个月的折腾,总算学习了不少相关经验,在此记录分享一番1. 主要工具1.1 jvisualvm JDK自带的图形化工具,总体来说在性能监控方面要比JConsole好一些,原理都是类似,需要通过JMX等进行JVM分析, 为此如需远端访问,则需要在目标JAVA程序启动时添加如下参数:-Djava.rmi.serv...原创 2019-04-28 23:22:51 · 1219 阅读 · 0 评论 -
Java注解处理(Annotation Processor):(三) 代码生成
上节中AutoService利用注解处理生成的Service文件,这次我们主要进行代码生成,分析注解处理过程中代码生成的过程以及Gradle和Maven应如何配置Annotation Processor的支持。@Retention(RetentionPolicy.SOURCE)@Target(ElementType.TYPE)public @interface Hello {...原创 2019-05-20 00:49:31 · 8833 阅读 · 7 评论 -
Java注解处理(Annotation Processor):(二) Google Auto Service
接着上文,今天来分析一下Google Auto Service是如何利用Annotation Processor来帮助实现SPI的。首先看一下auto-service-annotation库,只有一个AutoService注解定义,其value值即为SPI的服务接口类,如下所示:可以看出,其注解仅保留于源码级别,用于编译时Annotation Processor的源码分析,并利用分析结...原创 2019-05-14 23:19:56 · 5070 阅读 · 2 评论 -
Java注解处理(Annotation Processor):(一) 从SPI谈起
最早接触Java Annotation Processor应该还是要数使用ButterKnife、Dagger2了,当时对Java注解的理解和使用还停留在通过运行时的反射机制来进行注解解析(主要还是用来替代恶心的XML配置)。初次接触时确实让人耳目一新,基本上是通过注解处理和代码生成,完成了依赖注入,不仅是在概念上面,而且对于性能资源有限的APP端,让使用依赖注入成为可行的方案;当然...原创 2019-05-07 23:40:52 · 1968 阅读 · 2 评论 -
Java注解处理(Annotation Processor):(四) 完结
接着上节的内容,首先谈一下poet的使用。通过上节可以看出,通过Filer生成代码时,使用了字符串方式的拼接与替换来生成Java源码,十分不利于修改与调整,而且比较容易出错,而poet就是解决这个问题的神器。 上节的代码修改后如下:@SupportedSourceVersion(SourceVersion.RELEASE_8)@SupportedAnnot...原创 2019-05-20 21:41:32 · 806 阅读 · 2 评论