# jflame **Repository Path**: jqncc/jflame ## Basic Information - **Project Name**: jflame - **Description**: java常用开发工具类和组件封装 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-03-12 - **Last Updated**: 2025-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, java-util, java常用工具包, spring-support ## README # Java开发组件jflame jflame是java开发的一些经验积累,是一个造轮子的项目,谈不上开发框架,所以暂时就叫开发组件吧.目标有两个,一个好用且常用的工具包,一个项目脚手架. 环境:JDK8+ ## 各模块介绍 ### 1. jflame-commons 常用工具包,不依赖于具体框架或环境的工具包,对常用的一些技术做抽象和封装.只强依赖apache commons-lang3,二者互为补充. 各包功能介绍: 1. codec 常用编码,hex编码、base64、unicode、url编码、byte[]转int等 2. config 配置相关,统一properties文件、servlet参数、filter参数获取和值类型转化。内置一些系统常用配置项 3. convert 定义通用类型转换接口,内置常用类型互转方法 4. crypto 加解密包,对象常用加密算法、消息摘要算法的封装。支持对称算法:(aes/des/3des/sm4)与非对称(rsa/sm2)加密算法,摘要算法(md5/SHA-1/SHA-256/SHA512/Hmac/SM3) 5. csv csv文件的读取和创建工具,支持注解方式的导入和导出 6. excel excel文件的读取和创建工具,支持注解方式的导入和导出,可自定义的单元格值类型转换和值校验 7. exception 常用异常定义,如业务异常BusinessException,权限异常PerminssionException,数据转换异常ConvertException等 8. json 基于SPI的json操作封装,目前支持fastjson、Jackson。目前只是统一了一些常用操作 9. key 常用单机唯一ID算法实现,支持:uuid、雪花算法snowflakeid、MangoDB的ObjectID,时间戳+随机数等 10. model 提供通用的几种model类和接口,如果统一返回结果BaseResult、CallResult、分页PageBean、IKeyValuePair键值对接口,IIntKeyPair等 11. net 封装了一个简易好用的http工具包、ftp工具类、IP地址和区域工具类 12. reflect 几个常用的反射和SPI工具类 13. **util** 非常好用和常用的一些工具类,如:StringHelper,DateHelper,ArrayHelper,CollectionHelper,MapHelper等 14. valid 常用验证工具类,基于Bean Validation的一些补充 ### 2. jflame-context-support 对系统中常用功能和中间件的封装,各包介绍: 1. auth 用户身份验证与授权的简单抽象和封装,不依赖其他安全框架 2. cache.redis, 对spring-data-redis的进一步封装,spring-data-redis个人用着感觉不是太方便,特别是泛型支持 3. dubbo dubbo框架的一些常用功能补充,如果认证filter,corsfilter,rest协议使用fastjson序列化,rest统一返回结果等 4. filemanager 抽象统一了常用的文件上传下载操作,支持本地文件系统、FastDFS、Minio、阿里云OSS、腾讯云COS 5. lock 分布式锁,基于redis和zookeeper实现,zookeeper锁的实现则使用curator已有实现. 6. mybatis 实现mybatis的几个常用类型处理器,如果字段加密保存,json类型 7. spring 对spring的几个功能扩展,如果cache注解支持过期时间配置、SpringContextHolder、mvc的日期多格式支持等 8. zookeeper操作封装,实现统一的zk操作,不必区分客户端,目前有zkclient和curator两个zookeeper最常用客户端的实现,推荐使用curator. ### 3. jflame-web web环境下常用功能补充,各包介绍: 1. filter 常用filter:跨域corsfilter、csrfFilter等,登录用户加载WebUserContextFilter 2. servlet 通用的几个servlet,文件下载DownloadServlet、图片加载LoadImageServlet、用户注销LogoutServlet、图片验证码ValidateCodeServlet... 3. spring spring web功能补充,常用拦截器inteceptor(权限验证拦截、登录验证拦截)、jackson序列化功能补充(统一结果封装序列化,注解实现接口动态指定过滤的属性等)、controller基础功能,统一异常处理。 4. tag 基于JSP标签功能的实现的页面权限标签、验证码标签、 5. WebUtils 定义了一些web常用功能静态方法和常量 ### 4. jflame-uid 唯一ID生成算法包, 包括百度snowflake 、美团分段segment id 算法