随笔分类 - java小技巧
java小技巧
摘要:1.引入mapstruct <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> </dependency> <dependency> <groupId>org.mapstruct</grou
阅读全文
摘要:lombok 中注解@Builder 修饰类的时候,相关属性字段额外设置的默认值会失效, 如何解决这个问题: 在需要使用builder构造模式生产对象的时候,相关属性上带上@Builder.defalut 注解修饰就可以 范例 @AllArgsConstructor @NoArgsConstruct
阅读全文
摘要:restemplate 访问,解析异常的情况 try{ response = execute(CREATE_PROJECT, HttpMethod.POST, request); } catch (HttpClientErrorException e) { // 处理 4xx 服务端错误 log.e
阅读全文
摘要:1.java的zip包打包问题 使用peazip工具能看到zip包中细微的差异 异常zip包是Method方法列中显示是空 正常zip包是Method方法列中显示的是Deflate 2.使用hutool工具打包,也不显示Deflate相关说明, 大部分情况都适用,只有在部分特殊的插件需要依赖某些zi
阅读全文
摘要:变量集合 ${project.artifactId} ${project.groupId} 使用场景 pom.xml定义properties变量 <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler
阅读全文
摘要:启动脚本 readonly APP_NAME="${project.artifactId}" #定义当前应用的名称 readonly JAR_VERSION="${project.version}" #打包的JAR版本 EXE_JAR="$APP_NAME-$JAR_VERSION.jar" 如何通
阅读全文
摘要:依赖hutool工具类 // 定义要执行的shell命令 String command = StrUtil.format("source /etc/profile;source ~/.bash_profile;cd {};$MAVEN_HOME/bin/mvn --settings $MAVEN_H
阅读全文
摘要:判断是否是纯文本文件 import com.google.common.collect.Lists; import com.jdl.jscaffold.exception.BusinessException; import lombok.extern.slf4j.Slf4j; import org.
阅读全文
摘要:base64 常用与处理二进制文件数据流,做文本 byte[] bytes = FileUtil.readBytes(file); // 二进制i读取为字节数组 String content = Base64.getEncoder().encodeToString(bytes); // 字节数组按照
阅读全文
摘要:spring中依赖注入的思考 平时在自己的项目开发过程中,定义服务接口,编写服务实现类, 然后依赖注入各种用到的功能,有dao层做数据库查询,有其他服务 发现依赖注入越来越多,这样是否合理呢? gpt4给了我答案 1.可能我违背了服务的单一职责,承担了过多的功能 2.高层模块不应该依赖底层模块,是否
阅读全文
摘要:使用工具类SerializationUtils 说明:由于org.apache.commons.lang3包提供, AlarmDescDetailsDto r = SerializationUtils.clone(request); r.setAlarmObjectType(AlarmObjectT
阅读全文
摘要:1.stream().collect(Collectors.toSet()) 排序出来的数据是按取到其中数据,每个做hashcode自动排序后的结果 2.stream().collect(Collectors.toList()) 排序出来的数据是按照之前数据默认的顺序的结果
阅读全文
摘要:1.数据库查询时候的换行写法 标准友好的写法 List<AlarmRuleNew> dbAlarmRules = mapperContext.getAlarmRuleNewMapper().selectList(new QueryWrapper<AlarmRuleNew>() .eq(AlarmRu
阅读全文
摘要:1.参数校验放到开始 一般将使用的参数校验放到起始位置,不要因为之前用的三元运算符而隐藏 // 验证输入参数 if (StringUtils.isBlank(request.getAlarmObject()) || Objects.nonNull(request.getAlarmObjectPlat
阅读全文
摘要:升序 List<Transaction> transactions = Arrays.asList( new Transaction(brian, 2011, 300), new Transaction(raoul, 2012, 1000), new Transaction(raoul, 2011,
阅读全文
摘要:判断字符串是否只含有数字 使用commons.lang包工具类 import org.apache.commons.lang3.StringUtils; StringUtils.isNumeric(tmpStr) 底层实现 判断每一个字符是否是数字 public static boolean isN
阅读全文
摘要:使用stream流的anyMatch 判断的条件里,任意一个元素成功,返回true 上代码 List<SectorInfo> sectorsInfo = scanResultParser.apply(scanResult); return sectorsInfo.stream() .map(sect
阅读全文
摘要:Joda-Time 优雅的时间处理 ,延后几天,几天前,一段时间
阅读全文
摘要:自定义对象的of生成逻辑 依赖于lombok的注解 @RequiredArgsConstructor(staticName = "of") 写法 import lombok.Data; import lombok.NonNull; import lombok.RequiredArgsConstruc
阅读全文
摘要:map中判断是否有值 不通过是否null来判断,而是通过containsKey方法来进行判断 性能要比null判断要效率高 boolean hasKey = map.containsKey("key");
阅读全文