温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中注解学习系列教程-6 excel导出优化plush版

发布时间:2020-06-20 13:37:16 来源:网络 阅读:315 作者:凯哥Java 栏目:编程语言

在上一篇文章中,我们实现了了自定义注解导出excel及对date类型和枚举类型进行处理。虽然效果是出来了,但是还是有问题的。

问题分析:

1:在处理date类型及枚举类型的时候,很麻烦,需要好几个属性配合这使用。如果忘了其中的一个就会导致错。如下图:

Java中注解学习系列教程-6 excel导出优化plush版

还记的在《Java中注解学习系列教程-3》中我们知道,自定义注解的成员属性还可以是一种特殊的类型:Annotation的。也就是在注解中使用注解。

所以我们根据这个特性来处理:

将日期类型转换及枚举类转换封装到两个不同的注解中。

一:封装枚举类的注解

1.1:在我们自定义excel解析的注解ExcelAnnotation类中定义解析枚举类的注解。如下图:

/**  * 声明枚举类解析对象  * @return  */ public abstract  EnumCode2Description[] EnumCode2Description() default {}; /**  * 枚举类 code转 description  */ @Retention(RetentionPolicy.RUNTIME) @Target( {}) public @interface EnumCode2Description{     /**      *  调用枚举列的方法名称      * @return      */     public abstract String methodName();     /**      * 调用枚举类方法的参数      * @return      */     public  abstract  Class methodArgClass() default Integer.class;     /**      * 枚举类      * @return      */     public  abstract  Class clazz(); }

Java中注解学习系列教程-6 excel导出优化plush版

Java中注解学习系列教程-6 excel导出优化plush版

1.2:在实体对象中使用该注解

Java中注解学习系列教程-6 excel导出优化plush版

1.3:解析注解中处理

Java中注解学习系列教程-6 excel导出优化plush版

二:日期格式化封装

2.1:在自定义注解中定义日期格式注解

/**  * 声明解析日期封装对象  * @return  */ public abstract  myDateFormat2Pattern[] myDateFormat2Pattern() default {}; /**  * 日期格式化-封装注解  */ @Retention(RetentionPolicy.RUNTIME) @Target({}) public @interface  myDateFormat2Pattern{     public abstract  String pattern() ;     public  abstract  boolean isDateFormate() ; }

Java中注解学习系列教程-6 excel导出优化plush版

2.2:定义格式对象为成员属性

Java中注解学习系列教程-6 excel导出优化plush版

2.3:使用封装后的日期注解

Java中注解学习系列教程-6 excel导出优化plush版

2.4:解析封装的日期注解

Java中注解学习系列教程-6 excel导出优化plush版

代码以放git上了。

关注凯哥公众号:凯哥Java。获取

声明:本文是《Java中注解学习系列教程》第五篇文章-小案例,使用自定义注解实现Excel导出优化初级阶段。

本文出处:http://www.kaigejava.com/article/detail/444

凯哥博客:www.kaigejava.com

凯哥公众号:凯哥Java(kaigejava)


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI