java开发中遇到的问题记录及解决

#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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值