Releases: ifeilong/feilong
3.2.1
feilong 3.2.1 发布了,让Java开发更简便的工具库
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
maven 依赖配置:
<dependency>
<groupId>com.github.ifeilong</groupId>
<artifactId>feilong</artifactId>
<version>3.2.1</version>
</dependency>
Gradle 依赖配置:
com.github.ifeilong:feilong:3.2.1
本次升级共有 9
处变更, 具体参见 3.2.1 milestone
🍑 feilong-core
#406 ✨ Dateutil todate 新增模式的pattern 简化写法, 默认方法使用 yyyy-MM-dd 模式 [enhancement]
即 你可以使用下面的写法
DateUtil.toDate("2022-09-08")
代替以前必须传 yyyy-MM-dd
DateUtil.toDate("2022-09-08","yyyy-MM-dd")
DateUtil.toDate("2022-09-08",DatePattern.COMMON_DATE)
#403 ✨ uriutil encode decode 增加默认utf-8的方法 [enhancement]
#387 ✨ 封装个方法来简化下面设置url 的代码 [enhancement]
新建 com.feilong.core.net.URLUtil.ifNoHttpOrHttpsProtocolPrependPre(String, String)
如以下10行代码, 作用是判断LogoPic 是不是空, 如果不是, 判断是不是以http://开头, 不是以这个开头会拼接前缀
if (userInfo.getLogoPic() != null && !"".equals(userInfo.getLogoPic())) {
// 微信登录头像地址是绝对路径
// 公司登录头像地址是相对路径
if (userInfo.getLogoPic().startsWith("http://")) {
result.setUserLogoPic(userInfo.getLogoPic());
} else {
result.setUserLogoPic(coverPerfix + userInfo.getLogoPic());
}
}
可以使用以下1行代码代替
result.setUserLogoPic(URLUtil.ifNoHttpOrHttpsProtocolPrependPre(userInfo.getLogoPic(), coverPerfix));
#402 ✨ 让 CollectionsUtil.addIgnoreNullOrEmpty(Collection, T) 支持动态数组 [enhancement]
🍷 feilong-net
#405 http log jsonformat 转成tostring [[help wanted](https://github.com/ifeilong/feilong/issues?q=is%3Aissue+label%3Ahelp wanted+milestone%3A3.2.1+is%3Aclosed)]
⬆️ 依赖升级
#409 jsoup 升级到 1.15.3
#408 logback 升级到1.4.0
#410 maven-javadoc-plugin 升级到 3.4.1
#412 maven-project-info-reports-plugin 升级到3.4.1
3.2.0
feilong 3.2.0 发布了,让Java开发更简便的工具库
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
maven 依赖配置:
<dependency>
<groupId>com.github.ifeilong</groupId>
<artifactId>feilong</artifactId>
<version>3.2.0</version>
</dependency>
Gradle 依赖配置:
com.github.ifeilong:feilong:3.2.0
本次升级共有 10
处变更, 具体参见 3.2.0 milestone
🍑 feilong-core
#60 ✨ Validator 添加一个 类似于 StringUtils.isAnyBlank(CharSequence...) 的方法 [enhancement]
🔒 feilong-security
#382 修改 com.feilong.security.oneway.Sm3Util 注释 [javadoc]
🍼 feilong-servlet
#153 com.feilong.servlet.ServletContextUtil.EXCLUDE_KEYS 做成配置文件
⬆️ 依赖升级
#384 maven-assembly-plugin 升级到 3.4.2
#398 maven-install-plugin 升级到 3.0.1
#399 maven-resources-plugin 升级到 3.3.0
#383 升级 bcprov-jdk15on>1.70
#381 升级 jsoup 1.15.2
➖ 依赖调整
#205 用 log4j2 替代 log4j
其他
feilong 3.1.1 发布了,让Java开发更简便的工具库
feilong 3.1.1 发布了,让Java开发更简便的工具库。
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
单元测试数
增加至 2359
个, 单元测试覆盖率
增加至 91%
,javadoc
比率 83%
本次升级共有 18
处变更, 具体参见 3.1.1 milestone
🐛 bug
#375 修改 错误的javadoc DateExtensionUtil 换成 DateUtil [javadoc]
🍑 feilong-core
#366 ✨ 提供 默认 2位小数的 进度NumberUtil.getProgress(Number, Number, String) [enhancement]
#374 ✨ 新建 2个日期 间隔月数 [enhancement]
#357 ✨ 新建 DateUtil.getFirstDateOfToday [enhancement]
#368 ✨ 新建 StringUtil.trimAndEqualsIgnoreCase(String, String) string 去空格 忽视大小写的方法 [enhancement]
#358 ✨ 新建 ThreadUtil.sleepSeconds(int seconds) [enhancement]
#373 ✨ 新建 com.feilong.core.util.CollectionsUtil.newHashSet(Collection) 带参的方法 [enhancement]
#361 ✨ 新建类似于 CollectionsUtil.find(Iterable, Map<String, ?>) select 方法 [enhancement]
#370 ✨ 简化这种 创建一个对象 再copy 属性的写法 [enhancement]
🍖 feilong-json
#367 ✨ 新建JsonUtil.toString(Object) 来简化 JsonUtil.format(xqlConfig, 0, 0) [enhancement]
🍷 feilong-net
#372 ✨ com.feilong.net.http.HttpClientUtil.get(String) 新增只有1个参数的方法 [enhancement]
🍼 feilong-servlet
#356 com.feilong.servlet.http.RequestLogBuilder.getHeaderMap() 迁移到 RequestUtil
#363 ✨ 新建 RequestUtil.getRequestFullURL(HttpServletRequest) 不带编码的方法, 默认utf8 [enhancement]
其他
#376 maven-assembly-plugin 升级到 3.4.1 [dependencies]
#378 maven-deploy-plugin 升级到3.0.0 [dependencies]
#379 maven-install-plugin 升级到3.0.0 [dependencies]
#377 maven-project-info-reports-plugin 升级到 3.4.0 [dependencies]
#362 ✨ 处理优化json format Calendar 日志有告警 [enhancement]
Full Changelog: 3.1.0...3.1.1
feilong 3.1.0 发布了,让Java开发更简便的工具库
feilong 3.1.0 发布了,feilong 是一个让Java开发更简便的工具库。
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
单元测试数
增加至 2259
个, 单元测试覆盖率
增加至 91%
,javadoc
比率 83%
本次升级共有 40
处变更, 具体参见 3.1.0 milestone
🐛 bug
#310 http client 中的post ,put 方法 要支持 body 和paramMap 并存的情况 [feilong-net]
👽 不兼容
#329 com.feilong.net.wxwork.bot 包名修改成 com.feilong.net.bot.wxwork (如果你用的是 feilong xml 标签形式, 不会受到影响) [feilong-net-bot]
#314 抽象类 AbstractSecretKeySpecBuilder 的 buildKeyBytes方法 新增algorithm参数 [feilong-security]
🍑 feilong-core
#350 ✨ Objectutil 新增 equalsAny 方法 [enhancement]
#353 新建 DefaultIfNullParameterizedTest
🍷 feilong-net
#308 ✨ ResponseUtil.write 优化代码, 将 PrintWriter 放在try-with-resources里 [enhancement]
feilong-net-bot
#319 新建 基于钉钉的机器人
🔒 feilong-security
#313 ✨ 新建 KeyGeneratorKeyBuilder [enhancement]
🍼 feilong-servlet
#352 ✨ ResponseUtil writeText writeJson 当characterEncoding 参数是null或者empty的时候, 使用默认的utf-8 [enhancement javadoc]
#351 ✨ ResponseUtil.writeJson 注释把 默认utf-8 加上 [enhancement javadoc]
#354 ✨ 新增 RequestUtil.isNotWechatRequest(HttpServletRequest) [enhancement]
#349 ✨ 新增 判断请求是来自于微信小程序的方法 [enhancement]
⬆️ 依赖升级
#302 httpclient 升级到 4.5.13
#345 jacoco-maven-plugin 升级到 0.8.8
#316 junit 升级到 4.13.2 [parent]
#315 logback 升级到1.2.11 [parent]
#330 maven-antrun-plugin 升级到 3.1.0
#341 maven-compiler-plugin 升级到3.10.1
#338 maven-dependency-plugin 升级到 3.3.0
#342 maven-jar-plugin 升级到 3.2.2
#339 maven-javadoc-plugin 升级到3.4.0
#340 maven-plugin-plugin 升级到 3.6.4
#343 maven-project-info-reports-plugin 升级到 3.3.0
#305 maven-resources-plugin 插件升级到 3.2.0
#346 maven-scm-plugin 升级到 1.12.2
#334 maven-war-plugin 升级到 3.3.2
#347 org.springframework test 依赖升级到 5.2.22.RELEASE
#317 slf4j 升级到 1.7.32 [parent]
#303 spring optional 依赖升级到 5.2.11.RELEASE
#344 versions-maven-plugin 升级到 2.11.0
➖ 依赖调整
#335 🔥 parent 移除 tiles 默认依赖 [删除]
其他
#328 CollectionsUtil.removeDuplicate(Collection, String) 方法注释不够具体生动 [javadoc]
#355 日期转字符串, 格式 E 在不同jdk 版本显示结果不一样 [javadoc]
3.0.10
feilong 3.0.10 发布了,feilong 是一个让Java开发更简便的工具库。
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
单元测试数
增加至 2259
个, 单元测试覆盖率
增加至 91%
,javadoc
比率 83%
本次升级共有 3
处变更, 具体参见 3.0.10 milestone
🍖 feilong-json
#300 ✨ OrPropertyFilter.OrPropertyFilter(PropertyFilter filter1, PropertyFilter filter2)改造成支持动态参数 [enhancement]
#299 ✨ java 转json 需要支持可以设置过滤某些有业务逻辑的属性 [enhancement]
🍷 feilong-net
#291 ✨ http 工具类, 支持自动去除url 空格, 提高健壮性 [enhancement feilong-net-filetransfer]
3.0.9
feilong 3.0.9 发布了,feilong 是一个让Java开发更简便的工具库。
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
单元测试数
增加至 2259
个, 单元测试覆盖率
增加至 91%
,javadoc
比率 83%
本次升级共有 2
处变更, 具体参见 3.0.9 milestone
其他
#298 修改 SftpFileTransferBeanDefinitionParser javadoc [javadoc]
#297 ✨ 新增 feilong-net-wxwork 企业微信机器人 [enhancement]
= 使用feilong 发企业微信机器人
企业微信机器人在日常的使用场景中越来越多, 比如服务器关键任务告警,定时发通知提醒等等, 和短信相比即免费又不像短信逐渐只有接收验证码的功能, 那么问题来了,如何使用feilong来发送企业微信机器人呢?
简单 3 步
第1步: jar 依赖
必要依赖
<dependency>
<groupId>com.github.ifeilong</groupId>
<artifactId>feilong</artifactId>
<version>3.0.9</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.12</version>
<exclusions>
<exclusion>
<artifactId>httpclient</artifactId>
<groupId>org.apache.httpcomponents</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
for test 和日志
<!--下面是for test 和日志-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.7.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
第2步: 使用xml 配置机器人
wxbot.xml
注意xml中需要使用feilong 的customer xml tag
feilong:wxworkBot 只有一个核心自定义属性, key 是企业微信机器人对应的key , key 参考 如何配置群机器人?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:feilong="http://www.feilong.com/schema/feilong"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.feilong.com/schema/feilong http://www.feilong.com/schema/feilong/feilong.xsd
">
<feilong:wxworkBot id="wxworkBot" key="80fa900e-c601-41a9-987c-ffa48f1d9e27" />
</beans>
第3步: 使用
简单小示例:
package com.feilong.namespace;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.hasProperty;
import static org.hamcrest.Matchers.is;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import com.feilong.net.wxwork.bot.WxworkBot;
import com.feilong.net.wxwork.bot.message.WxworkResponse;
@ContextConfiguration(locations = { "classpath*:wxbot.xml" })
public class WxworkBotTagTest extends AbstractJUnit4SpringContextTests{
@Autowired
@Qualifier("wxworkBot")
private WxworkBot wxworkBot;
//---------------------------------------------------------------
@Test
public void test(){
WxworkResponse wxworkResponse = wxworkBot.sendMessage("hello world");
assertThat(
wxworkResponse,
allOf(
hasProperty("isSuccess", is(true)), //
hasProperty("errcode", is("0"))));
}
}
执行这个单元测试, 你将会收到企业微信机器人发的消息
关于 WxworkBot
com.feilong.net.wxwork.bot.WxworkBot 提供了2个易用的方法
- sendMessage(String) 发送普通消息,以及Markdown格式的消息
- sendNewsMessage(Article...) 发送推送图文类型消息
sendMessage(String) 发送普通消息,以及Markdown格式的消息
在上述 hello world示例中, 你可以看到发送简单消息, 也支持markdown格式的消息, 比如
@Test
public void test(){
wxworkBot.sendMessage(
"实时新增用户反馈<font color=\"warning\">132例</font>,请相关同事注意。\n" + "> 类型:<font color=\"comment\">用户反馈</font>\n"
+ "> 普通用户反馈:<font color=\"comment\">117例</font>\n"
+ "> VIP用户反馈:<font color=\"comment\">15例</font>");
}
效果:
sendNewsMessage(Article...) 发送推送图文类型消息
你还可以使用sendNewsMessage 来推送图文类型的消息,
package com.feilong.namespace;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import com.feilong.net.wxwork.bot.WxworkBot;
import com.feilong.net.wxwork.bot.message.news.Article;
@ContextConfiguration(locations = { "classpath*:wxbot.xml" })
public class WxworkBotTagNewsMessageTest extends AbstractJUnit4SpringContextTests{
@Autowired
@Qualifier("wxworkBot")
private WxworkBot wxworkBot;
@Test
public void test(){
//是 标题,不超过128个字节,超过会自动截断
String title = "提醒您,点击填Timesheet";
//描述,不超过512个字节,超过会自动截断
String description = "@all 点我直接填写Jira Timesheet" + "\n\n" + "我爱工作,工作使我快乐";
//"点我直接填写Jira Timesheet",
String url = "http://jira.xxx.cn/plugins/servlet/aio-ts/bridge/pages/aiotimeentry";
String img = "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1585320605587&di=9424f8862476b2ce819ac9f5637567b1&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2F503d269759ee3d6d55e89bf048166d224f4adeda.jpg";
wxworkBot.sendNewsMessage(new Article(title, description, url, img));
}
}
效果:
3.0.8
feilong 3.0.8 发布了,feilong 是一个让Java开发更简便的工具库。
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
单元测试数
增加至 2259
个, 单元测试覆盖率
增加至 91%
,javadoc
比率 83%
本次升级共有 9
处变更, 具体参见 3.0.8 milestone
🍑 feilong-core
#292 CollectionsUtil 新增 exist 方法
boolean exist(Iterable<O> beanIterable,String propertyName,V propertyValue)
判断iterable中,是否存在 propertyName属性名称值是 propertyValue 的元素.
示例:
场景: 判断 list中是否存在name是 关羽 的User对象
List<User> list = new ArrayList<>();
list.add(new User("张飞", 23));
list.add(new User("关羽", 24));
list.add(new User("刘备", 25));
list.add(new User("关羽", 50));
LOGGER.info(CollectionsUtil.exist(list, "name", "关羽"));
返回:
true
feilong-net-filetransfer
#287 sftp 设置默认的 sshConfig
#286 sftp 默认超时时间从0 (没有超时) 改成 3秒
#288 完善 FileTransfer.getFileEntityMap(String, String...) javadoc
#285 简化 sftp 配置
原先 使用sftp 需要配置大段的xml:
<bean id="sftpFileTransfer" class="com.feilong.net.filetransfer.sftp.SFTPFileTransfer" scope="prototype">
<property name="sftpFileTransferConfig">
<bean class="com.feilong.net.filetransfer.sftp.SFTPFileTransferConfig">
<property name="hostName" value="#{p_sftp['fileTransfer.sftp.hostName']}" />
<property name="userName" value="#{p_sftp['fileTransfer.sftp.userName']}" />
<property name="password">
<value><![CDATA[#{p_sftp['fileTransfer.sftp.password']}]]></value>
</property>
<property name="port" value="#{p_sftp['fileTransfer.sftp.port']}" />
<property name="sessionTimeout" value="#{p_sftp['fileTransfer.sftp.sessionTimeout']}" />
<property name="sshConfig" ref="p_sftp-sshConfig" />
</bean>
</property>
</bean>
现在你只需要:
<feilong:sftpFileTransfer id="sftpFileTransfer" hostName="#{p_sftp['fileTransfer.sftp.hostName']}"
userName="#{p_sftp['fileTransfer.sftp.userName']}"
password="#{p_sftp['fileTransfer.sftp.password']}"
port="#{p_sftp['fileTransfer.sftp.port']}"
sessionTimeout="8000"
/>
🔒 feilong-security
#294 ✨ OnewayEncryption.encodeFile(OnewayType, String) 支持 classpath [enhancement]
parent
#290 修改 sonar-maven-plugin 插件 groupid 从org.codehaus.mojo 到 org.sonarsource.scanner.maven
⬆️ 依赖升级
#296 maven-site-plugin 升级到 3.9.1 [parent]
#295 maven-war-plugin 升级到 3.3.1 [parent]
3.0.7
feilong 3.0.7 发布了,feilong 是一个让Java开发更简便的工具库。
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
单元测试数
增加至 2259
个, 单元测试覆盖率
增加至 91%
,javadoc
比率 83%
本次升级共有 7
处变更, 具体参见 3.0.7 milestone
🐛 bug
#278 更新 dateutil formatDuration 旧的javadoc [feilong-core javadoc]
🍖 feilong-json
#284 ✨ 新建 json uri value 转换器 [enhancement]
#282 ✨ 新建 json url value 转换器 [enhancement]
#279 重构 feilong lib json
🍼 feilong-servlet
#277 ✨ ResponseUtil.write(HttpServletResponse, Object) 修改默认编码 为utf-8 [enhancement]
其他
#281 ✨ jsoup util 支持证书 [enhancement]
#280 重构 feilong lib beanutils
3.0.6
feilong 3.0.6 发布了,feilong 是一个让Java开发更简便的工具库。
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
单元测试数
增加至 2259
个, 单元测试覆盖率
增加至 91%
,javadoc
比率 83%
本次升级共有 21
处变更, 具体参见 3.0.6 milestone
🐛 bug
#260 json to bean 不存在的属性,且是集合的话, 会报错 [feilong-json]
🍑 feilong-core
#254 ✨ 新建 com.feilong.core.util.CollectionsUtil.get(Iterable, int) 的方法 [enhancement]
#261 ✨ 新建 com.feilong.core.util.CollectionsUtil.partition(List, int) [enhancement]
#255 ✨ 新建 com.feilong.core.util.CollectionsUtil.size(Object) 方法 [enhancement]
🍖 feilong-json
#274 com.feilong.json.JsonUtil.toList(Object, Class)参数改成 String
#268 com.feilong.json.JsonUtil.toArray(Object, JsonToJavaConfig) 参数改成 String
#269 com.feilong.json.JsonUtil.toBean(Object, JsonToJavaConfig) 参数改成String
#270 com.feilong.json.JsonUtil.toBean(String, Class) 参数改成String
#273 com.feilong.json.JsonUtil.toList(Object, JsonToJavaConfig) 参数改成 String
#272 com.feilong.json.JsonUtil.toMap(Object) 参数改成 String
#271 com.feilong.json.JsonUtil.toMap(Object, JsonToJavaConfig) 参数改成 String
#156 ✨ json format bean 支持排序输出 [enhancement]
#239 优化 json to bean 没有的属性的日志
#276 🔥 删除 JSONExceptionUtil [删除]
#262 🔥 删除 com.feilong.lib.json.JSONArray.JSONArrayListIterator.JSONArrayListIterator() [删除]
#266 🔥 删除 com.feilong.lib.json.JSONArray.add(int, Object) [删除]
#263 🔥 删除 com.feilong.lib.json.JSONArray.remove(int) [删除]
#264 🔥 删除 com.feilong.lib.json.JSONArray.set(int, Object) [删除]
#267 🔥 删除 com.feilong.lib.json.regexp.JdkRegexpMatcher [删除]
#265 🔥 删除com.feilong.lib.json.JSONArray.add(int, Object, JsonConfig) [删除]
🍷 feilong-net
#275 ✨ 节省日志, 将http 相关null参数format 成json 时候不输出 [enhancement]
3.0.5
feilong 3.0.5 发布了,feilong 是一个让Java开发更简便的工具库。
- 让你从大量重复的底层代码中脱身,提高开发效率;
- 让你的代码
更简炼
,易写
、易读
、易于维护
;
文档地址: http://feilong-core.mydoc.io/
单元测试数 增加至 2259
个, 单元测试覆盖率 增加至 91%
,javadoc 比率 83%
本次升级共有 8
处变更, 具体参见 3.0.5 milestone
🍑 feilong-core
#251 ✨ 新建 ThreadUtil.sleep int 参数方法 ,避免sonar 扫描问题 [enhancement]
🍖 feilong-json
#250 ✨ JsonUtil.format(Object, String[]) 修改成 可变参数 [enhancement]
⬆️ 依赖升级
#259 maven-war-plugin 升级到 3.3.0
#257 spring 依赖升级到 5.2.7.RELEASE
#252 升级 maven-project-info-reports-plugin 到 3.1.0
➖ 依赖调整
#258 dependencyManagement 删除以下依赖
#256 新建一个maven module 把不用的依赖移过去,让parent pom 更纯粹 [parent]
其他
#253 ✨ 下面类代码使用 lambda替代 匿名类写法 [enhancement]