常见及不常见的问题都会记录在里面,有更好的方法或出现了问题欢迎大家指出
#Git提交规范
ci:更新 CI/CD 等自动化配置
fix:常用:表示修复 bug
docs:更新文档
feat:常用,表示新增功能
perf:性能优化
test:单元测试更改
build:表示构建,发布版本可用这个
chore:杂项,其他更改
style:样式更改
revert:代码回滚
refactor:重构
快速导入及下载Excel文件
依赖
<!-- excel导入导出注解 -->
<dependency>
<groupId>com.pig4cloud.excel</groupId>
<artifactId>excel-spring-boot-starter</artifactId>
<version>1.2.7</version>
</dependency>
接口层
@ApiOperation(value = "下载模版")
@PostMapping("/down")
@ResponseExcel(name = "下载模版")
public List<SysDeptImportDTO> downExcelTemplate() {
//无需自定义模版 只需要直接返回list就直接返回文件流
List<SysDeptImportDTO> studentRollSelfExports=new ArrayList<>();
studentRollSelfExports.add(new SysDeptImportDTO());
return studentRollSelfExports;
}
@ApiOperation(value = "导入")
@PostMapping("/import")
public Object importExcel(@RequestExcel @NotEmpty(message = "导入最小1条") @Size(min = 1, message = "导入最小1条") List<SysDeptImportDTO> list) {
//无需使用监听类来将文件转对象,直接解析为对象
System.out.println();
return null;
}
DTO
@Data
@ContentStyle(horizontalAlignment = HorizontalAlignmentEnum.CENTER, verticalAlignment = VerticalAlignmentEnum.CENTER)
@ColumnWidth(30)
public class SysDeptImportDTO
{
//顺序不同,Excel文件中列的顺序也不同
@ExcelProperty("祖级列表")
private String ancestors;
@ExcelProperty("部门名称")
private String deptName;
@ExcelProperty("显示顺序")
private Integer orderNum;
@ExcelProperty("负责人")
private String leader;
@ExcelProperty("联系电话")
private String phone;
@ExcelProperty("邮箱")
private String email;
@ExcelProperty("部门状态:0正常,1停用")
private String status;
@ExcelProperty("父部门名称")
private String parentName;
}
Java中JSON把引用相同的对象变为"$ref"
别人提供的解决方法地址:
https://blog.csdn.net/qq_37953002/article/details/101448761?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164344264816780261942796%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164344264816780261942796&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-101448761.first_rank_v2_pc_rank_v29&utm_term=Java%E4%B8%ADJSON%E6%8A%8A%E5%BC%95%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E5%AF%B9%E8%B1%A1%E5%8F%98%E4%B8%BA%24ref&spm=1018.2226.3001.4187
我是使用这段代码解决的
String text3 = JSON.toJSONString(p2,SerializerFeature.DisableCircularReferenceDetect);
java操作linux中的phantomjs实现服务端屏幕截图
别人提供的解决方法地址:
https://www.jianshu.com/p/d85420e2841e
我的解决方法的地址:
https://blog.csdn.net/Hello_Andrw/article/details/123052216
循环时用时间戳做任务id,任务id重复的问题
循环的时候,用 System.currentTimeMillis()生成的时间戳作为任务id的时候,如果循环时间小于一毫秒,那么就会有多个重复的任务id
推荐使用System.nanoTime()来生成唯一的时间戳
String.format的使用
String.format(“%%%s%%”,1) 得到的值为%1%
String.format(“%s”,1)得到的值为1