Skip to content

Releases: ifeilong/feilong

4.1.2

30 Sep 14:24
Compare
Choose a tag to compare

feilong 4.1.2 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.1.2</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.1.2

本次升级共有 12 处变更, 具体参见 4.1.2 milestone

🐛 bug

#736 ResponseDownloadUtil 没有设置文件大小, 空指针, 但这个文件大小只做日志用的 [feilong-servlet]

🎣 feilong-io

#739 ✨ 新建 com.feilong.io.IOReaderUtil.readToList [enhancement]

⬆️ 依赖升级

#730 maven-dependency-plugin 3.6.1 3.8.0
#729 maven-javadoc-plugin 3.6.3 3.10.0
#722 maven-project-info-reports-plugin 3.5.0升级3.7.0
#723 maven-scm-plugin 2.0.1 升级2.1.0
#742 maven-site-plugin 3.12.1 升级 3.20.0
#725 maven-surefire-plugin 3.2.3 升级3.5.0
#743 taglist-maven-plugin 升级到 3.1.0

其他

#740 com.feilong.context.converter.StringToBeanConverter接口移动到 feilong-core包 路径保持不变
#738 com.feilong.core.lang.StringUtil.toSingleValueMap(String, Class, Class) 要支持定制转换value类
#741 标识 com.feilong.context.converter.StringToBeanConverter接口 @FunctionalInterface

4.1.1

21 Jun 08:01
Compare
Choose a tag to compare

feilong 4.1.1 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.1.1</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.1.1

本次升级共有 11 处变更, 具体参见 4.1.1 milestone

feilong-net-filetransfer

#716 ✨ FTPFileTransfer 支持传入 logTraceContext [enhancement]
#715 ✨ SFTPFileTransfer 要支持传入 logTraceContext [enhancement]
#714 ✨ 优化 com.feilong.net.filetransfer.AbstractFileTransfer disconnect方法 放到 finally体关闭 [enhancement]
#734 优化 com.feilong.net.filetransfer.AbstractFileTransfer.uploadFile(String, String, String) 使用 try-with-resources 关闭inputstream流写法
#735 修改 com.feilong.net.filetransfer.AbstractFileTransfer.upload(FileInputStream, String) javadoc [javadoc]

⬆️ 依赖升级

#732 log4j2 升级到 2.23.1
#717 maven-clean-plugin 升级到 3.4.0
#718 maven-compiler-plugin 升级到3.13.0
#720 maven-install-plugin 3.1.1 升级到3.1.2
#726 nexus-staging-maven-plugin 1.6.13 1.6.14 1.7.0
#733 springframework升级到 5.3.37 optional=true 依赖

4.1.0

07 Jun 04:45
Compare
Choose a tag to compare

feilong 4.1.0 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.1.0</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.1.0

本次升级共有 11 处变更, 具体参见 4.1.0 milestone

🐛 bug

#706 com.feilong.net.http.HttpLogHelper.autoLog(HttpRequest, ConnectionConfig, String, Object...) 死循环了 [feilong-net]

🍑 feilong-core

#708 ✨ 新建 ConvertUtil.toStringList(Object) 将list 转成 list 的转换方法 [enhancement]

🎸 feilong-context

#704 ✨ com.feilong.context.invoker.AbstractResponseCommandBuilder.createStringToBeanConverter() 新增responseString 参数,方便实现类基于responseString 来决策转换器 [enhancement]
#703 ✨ com.feilong.context.invoker.ResponseCommandBuilder<R, T> 泛型T extends ResponseCommand 去掉, 要支持list 等 [enhancement]

🍈 feilong-email

#702 丰富 com.feilong.net.mail.util.MessageSendUtil.send(Message) 异常日志 [javadoc log]

🍖 feilong-json

#705 com.feilong.json.JsonHelper.isNeedConvertToJSONArray(Object) 改成 public

🤖 feilong-net-bot

#709 ✨ 新建 com.feilong.net.bot.LogAndBotCombination.debug(CombinationConfig, String, Object...) 机器人支持是否发机器人的开关 [enhancement]
#712 ✨ 新建com.feilong.net.bot.LogAndBotCombination.error(CombinationConfig, String, Object...) [enhancement]
#710 ✨ 新建com.feilong.net.bot.LogAndBotCombination.info(CombinationConfig, String, Object...) [enhancement]
#711 ✨ 新建com.feilong.net.bot.LogAndBotCombination.warn(CombinationConfig, String, Object...) [enhancement]

feilong-net-filetransfer

#713 丰富 com.feilong.net.filetransfer.sftp.SFTPFileTransfer javadoc [javadoc]

4.0.8

05 Feb 11:11
Compare
Choose a tag to compare

feilong 4.0.8 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.0.8</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.0.8

本次升级共有 28 处变更, 具体参见 4.0.8 milestone

🐛 bug

#679 com.feilong.lib.json.ToStringUtil.OBJECT_START 是不是写反了 删除 com.feilong.lib.json.ToStringUtil.OBJECT_START [feilong-json]

🍑 feilong-core

#701 ✨ com.feilong.core.lang.StringUtil 新增 NBSP常量 [enhancement]
#681 完善com.feilong.core.util.ResourceBundleUtil.toBean(ResourceBundle, Class) 日志 [javadoc]

🎸 feilong-context

#684 com.feilong.spring.web.util.WebSpringUtil.getRequest() 应该用 currentRequestAttributes [代码优化]

🍖 feilong-json

#668 JsonToJavaConfig.setJavaIdentifierTransformer(JavaIdentifierTransformer) javadoc补充下 SeparatorToCamelCaseJavaIdentifierTransformer [javadoc]

🍷 feilong-net

#688 HttpRequest 新增一个 logTraceContext 表示, 让这个调用的所有log 都追加这个logkey 方便排查问题
#690 com.feilong.net.http.HttpLogHelper.createHttpRequestLog(HttpRequest) 增加javadoc [javadoc]

🤖 feilong-net-bot

#683 🗑️ com.feilong.net.bot.dingtalk.DingTalkBot.sendMessage(String, String, String...) sendMessage过期 [deprecated]
#667 ✨ 新增 com.feilong.net.bot.Bot.sendMessage(String, MessageParams) 机器人log组件要支持at人 [enhancement]

🔒 feilong-security

#699 OnewayEncryption 改成public
#698 OnewayType 改成public 并且完善javadoc
#437 ✨ com.feilong.security.oneway.SHA256Util.encodeUpperCase(String) 新增大写的结果 [enhancement]
#692 ✨ 新建 com.feilong.security.oneway.SHA1Util.encodeUpperCase(String) 返回大写结果 [enhancement]
#694 ✨ 新建 com.feilong.security.oneway.SHA384Util.encodeUpperCase(String) 返回大写结果 [enhancement]
#695 ✨ 新建 com.feilong.security.oneway.SHA512Util.encodeUpperCase(String) 返回大写的结果 [enhancement]
#697 ✨ 新建 com.feilong.security.oneway.Sm3Util.encodeUpperCase(String) 返回大写结果 [enhancement]
#687 ✨ 新建com.feilong.security.oneway.MD5Util.encodeUpperCase(String) md5 encode 大写 [enhancement]
#693 更新 com.feilong.security.oneway.SHA384Util javadoc [javadoc]
#696 更新 com.feilong.security.oneway.SHA512Util javadoc [javadoc]
#691 更新com.feilong.security.oneway.SHA256Util javadoc [javadoc]

⬆️ 依赖升级

#670 (dependencyManagement)logback 升级到 1.3.14
#672 (only for test) log4j 升级到 2.22.0
#682 log4j 2 升级到 2.22.1
#673 maven-javadoc-plugin 升级到3.6.3
#674 maven-plugin-plugin 升级到 3.10.2
#676 maven-surefire-plugin 升级到3.2.3
#671 spring 升级到 5.3.31

其他

#689 代码优化 com.feilong.core.lang.StringUtil.formatPattern(String, Object...) 换成static import [代码优化]

4.0.7

13 Dec 11:24
Compare
Choose a tag to compare

feilong 4.0.7 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.0.7</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.0.7

本次升级共有 6 处变更, 具体参见 4.0.7 milestone

🐛 bug

#662 RequestLogHelper 日志 paramString null显示成empty [feilong-servlet feilong-context]

🍑 feilong-core

#666 ✨ com.feilong.core.util.CollectionsUtil 新建 Pair<List<O>, List<O>> splitDuplicate(Collection<O> objectCollection,String...propertyNames)方法,根据属性值,分隔新数据和重复的数据 [enhancement]

使用场景:

数据库中查询到以下数据,该数据来源都是MQ发过来的数据,原样保存到了数据库

现在在处理业务逻辑的时候 发现 code列有数据重复, 现在分开来逻辑处理, 比如 id 2895828142 重复了, 28958是新数据, 28142是老数据, 现在需要把新数据28958更新到A表,而老数据28142做逻辑删除处理

id create_time code type
29144 2023-12-13T16:20:35 79598160 一般
29147 2023-12-13T16:20:35 79598155 独家
28958 2023-12-13T16:20:35 79584312 一般
28142 2023-12-13T10:07:16 79584312 一般
28225 2023-12-13T10:07:16 79584239 独家
28999 2023-12-13T16:20:35 79584197 一般
28233 2023-12-13T10:07:16 79584197 一般
28208 2023-12-13T10:07:16 79584172 独家
28139 2023-12-13T10:07:16 79583943 一般

此时你可以使用以下代码:

   //按照创建时间排过序了
List<Dto> newStatusData = dao.queryNewStatusData();
if (isNullOrEmpty(newStatusData)){
    return;
}

Pair<List<Dto>, List<Dto>> pair = CollectionsUtil.splitDuplicate(newStatusData,"code");

//查找重复的, 留下最新的, 把老的数据直接设置成delete

//对应上表格中,剔除 (28142 和 28233)的数据
List<Dto> newData = pair.getLeft();
//do logic

//对应上表格中的  28142 和 28233
List<Dto> duplicateData = pair.getRight();
//do logic

⬆️ 依赖升级

#664 logback 升级到1.3.13
#659 maven-project-info-reports-plugin 升级到3.5.0
#660 maven-surefire-plugin 升级到 3.2.2
#661 versions-maven-plugin 升级到 2.16.2

4.0.6

08 Dec 09:55
Compare
Choose a tag to compare

feilong 4.0.6 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.0.6</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.0.6

本次升级共有 16 处变更, 具体参见 4.0.6 milestone

🐛 bug

#76 post 请求 显示的full url不全 [feilong-servlet]

说明: 相关日志,从直接使用request queryString,改成解析请求参数拼接

👽 不兼容

#643 ✨ PartitionThreadConfig 默认初始最大线程从100改成20,并且计算的时候 大于20时候 info 级别日志提醒 [enhancement feilong-core]

🍑 feilong-core

#644 ✨ 多线程执行时,内部日志支持默认标识key,方便搜索 [enhancement]
#641 ✨ 新建 DefaultPartitionPerHandler 多线程处理单元素的方法, 并且内容try catch exception 和计算耗时时间 [enhancement]
#652 ✨ 新建 PartitionPerElementHandler 分区中的每个线程中的每个元素执行 [enhancement]
#649 ✨ 新建 com.feilong.core.lang.ThreadUtil.executeUsePerElement(List, Map<String, ?>, PartitionPerElementHandler) [enhancement]
#650 ✨ 新建 com.feilong.core.lang.ThreadUtil.executeUsePerElement(List, PartitionPerElementHandler) [enhancement]
#651 ✨ 新建 com.feilong.core.lang.ThreadUtil.executeUsePerElement(List, PartitionThreadConfig, Map<String, ?>, PartitionPerElementHandler) [enhancement]
#654 ✨ 新建 com.feilong.core.util.MapUtil.getDefaultEmptyStringIfNull(Map<K, V>, K) [enhancement]
#645 🗑️ 标识 com.feilong.core.lang.ThreadUtil.execute(List, int, Map<String, ?>, PartitionPerHandler) Deprecated [deprecated]
#646 🗑️ 标识 com.feilong.core.lang.ThreadUtil.execute(List, int, Map<String, ?>, PartitionRunnableBuilder) 过时 [deprecated]
#647 🗑️ 标识 com.feilong.core.lang.ThreadUtil.execute(List, int, PartitionPerHandler) 过时 [deprecated]
#648 🗑️ 标识 com.feilong.core.lang.ThreadUtil.execute(List, int, PartitionRunnableBuilder) 过时 [deprecated]

🎸 feilong-context

#655 ✨ 新建 com.feilong.context.log.RequestLogHelper 个能快速输出请求url 请求类型, 请求参数的方法 [enhancement]

🤖 feilong-net-bot

#642 ✨ 机器人开放获取 key的方法,方便记录日志, 比如钉钉机器人需要可以返回token [enhancement]

🍼 feilong-servlet

#656 ✨ 新建 com.feilong.servlet.http.RequestUtil.parseParamsToQueryString(HttpServletRequest) [enhancement]

4.0.5

28 Nov 11:40
Compare
Choose a tag to compare

feilong 4.0.5 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.0.5</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.0.5

本次升级共有 2 处变更, 具体参见 4.0.5 milestone

🎣 feilong-io

#639 ✨ FilenameUtil 新建 boolean isExtensionIgnoreCase(String filename,String...extensions) 判断是否是指定后缀的文件(忽视大小写) [enhancement]

🍖 feilong-json

#640 完善 json 转java 类型不匹配详细日志 java.lang.Integer" but expected signature "java.util.Date" [log]

4.0.4

27 Nov 11:23
Compare
Choose a tag to compare

feilong 4.0.4 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.0.4</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.0.4

本次升级共有 2 处变更, 具体参见 4.0.4 milestone

🍑 feilong-core

#637 ✨ loghelper 添加一个已经执行了多长时间 [enhancement]

效果

进度: [6/7] 85.71% ,perUseTimes: 2秒5毫秒 ,已经执行时间(elapsedTime): 13秒215毫秒 ,预估剩余时间(estimatedRemainingTime): 2秒5毫秒

🍖 feilong-json

#638 ✨ 新建 com.feilong.json.JsonUtil.toString(Object obj,boolean isIgnoreNullValueElement,String...ifIgnoreNullValueElementIncludes) 忽略空和空白, 但是有的属性要支持白名单,强行输出null [enhancement]

4.0.3

23 Nov 08:22
Compare
Choose a tag to compare

feilong 4.0.3 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.0.3</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.0.3

本次升级共有 12 处变更, 具体参见 4.0.3 milestone

🐛 bug

#626 log 动态参数 最后一个e 没有生效 [feilong-net-bot]

🍑 feilong-core

#624 ✨ 新建com.feilong.core.lang.ThreadUtil.execute(List, Map<String, ?>, PartitionPerHandler) [enhancement]

#635 PartitionEachSizeThreadConfigBuilder 新增javadoc [javadoc]
#636 ✨ 新建 com.feilong.core.lang.ThreadUtil.execute(List, PartitionPerHandler) [enhancement]
#630 ✨ 新建 com.feilong.core.net.URLUtil.transformHttpsToHttp(String) [enhancement]
#631 ✨ 新建 com.feilong.core.net.URLUtil.transformProtocol(String, String, String) [enhancement]
#627 ✨ 新建com.feilong.core.net.URLUtil.transformHttpToHttps(String) [enhancement]
#632 标识 PartitionEachSizeBuilder @FunctionalInterface
#633 标识 PartitionPerHandler @FunctionalInterface
#634 标识 PartitionRunnableBuilder @FunctionalInterface

🍷 feilong-net

#629 ✨ RequestByteArrayBody 支持字符串格式的MimeType [enhancement]

feilong-net-bot

#625 ✨ 新建个带签名类似于短信 [enhancement]

4.0.2

14 Nov 05:44
Compare
Choose a tag to compare

feilong 4.0.2 发布了,让Java开发更简便的工具库

  1. 让你从大量重复的底层代码中脱身,提高开发效率;
  2. 让你的代码更简炼易写易读易于维护;

文档地址: http://feilong-core.mydoc.io/

maven 依赖配置:

<dependency>
     <groupId>com.github.ifeilong</groupId>
     <artifactId>feilong</artifactId>
     <version>4.0.2</version>
</dependency>

Gradle 依赖配置:

com.github.ifeilong:feilong:4.0.2

本次升级共有 7 处变更, 具体参见 4.0.2 milestone

🍖 feilong-json

#617 完善 com.feilong.json.JsonToJavaConfig.classMap javadoc [javadoc]
#618 ✨ 新建 LongToDateMorpher,支持json转bean 的时候 自动将时间戳long类型转成Date类型 ,比如 {'date':1609948800000} 可以自动转成Date类型 [enhancement]

⬆️ 依赖升级

#620 log4j2 依赖升级到 2.21.1
#623 maven-clean-plugin 升级到3.3.2
#621 maven-dependency-plugin 升级到 3.6.1
#622 maven-javadoc-plugin 升级到3.6.2
#619 springframework 依赖升级到5.3.30