关于后端异步+前端进度条的简单实现 举个例子,现在有一个接口,就拿若依的批量给用户授权角色接口来说。原来的接口是这样的直接在前端获取到用户id然后就直接在sysRoleService.insertAuthUsers方法中进行数据库操作了。如果前端用户数据量太大的话,这样返回会很慢,导致前端加载时间长,现在简单的改造这个方法。
SM3加密算法 sm3用于替代MD5/SHA-1/SHA-2等国际算法,适用于数字签名和验证、消息认证码的生成与验证以及随机数的生成,可以满足电子认证服务系统等应用需求,于2010年12月17日发布。它是在SHA-256基础上改进实现的一种算法,采用Merkle-Damgard结构,消息分组长度为512bit,输出的摘要值长度为256bit。
sm2加密算法 在非对称加密中,加密和解密使用的是不同的密钥对,分别是公钥和私钥。SM2算法是由中国国家密码管理局制定的一种椭圆曲线非对称加密算法,用于数字签名、密钥协商等安全通信场景。这里以国密为例,Hutool针对Bouncy Castle做了简化包装,用于实现国密算法中的SM2、SM3、SM4。Hutool 支持对称加密、非对称加密、摘要加密、消息认证码算法、国密。
RSA加密的使用(前后端) 公钥(publicKey)加密、私钥(privateKey)解密。不能逆向,私钥(privateKey)加密、公钥(publicKey)解密。说白了就是前后端都需要用公钥(publicKey)进行加密,用私钥(privateKey)进行解密。
集成quartz调度框架 quartz定时器是做什么的Quartz是一个任务调度框架,实现动态定时任务实现,比如你想在每天的12点删除一些日志信息等。或者想每隔1小时,备份一些动作片到云盘。搭建框架1. 基础环境配置a. 创建数据库表CREATE TABLE `QRTZ_LOCKS`( `SCHED_NAME` varchar(120) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `LOCK_NAME` varchar(40) CH
当启动项目服务并且登录时报Cannot deserialize instance of `xxx.User` out of START_ARRAY ...... 这里表示类型转化异常其实是由于我一开始上传的部署包是错误的 比如我要上传的是2.4 结果上传成了2.2 两个包里面的user对象转化的不一致导致的所以 现在只要清除一下缓存就好了
java中的一些常用的stream流式用法 stream().map().collect()List users = getList(); //从数据库查询的用户集合现在想获取User的身份证号码;在后续的逻辑处理中要用;常用的方法我们大家都知道,用for循环,List idcards=new ArrayList();//定义一个集合来装身份证号码for(int i=0;i<users.size();i++){idcards.add(users.get(i).getIdcard());}这种方法要写好几行代码,有没有简单点的,有
集合和字符串相互转换 //把字符串根据,号分割取出来存入集合List<String> strings = Arrays.asList(user.getChargeOrgIds().split(","));//把集合根据逗号分隔变成字符串String ips = StringUtils.join(systemProperties.getIps().toArray(),",")//把集合中的某个字段取出来并且以,号分割String orgNames = orgs.stream().map(Org::getNam
当有这样一张表,OrgUser表,其中如果知道一个userIdList集合的话,如何获取到相应的OrgIdList @Override public Map<String, Set<String>> getUserId_OrgIdsMap(Collection<String> userIds) { LambdaQueryWrapper<OrgUser> query = new LambdaQueryWrapper<>(); query.in(CollectionUtils.isNotEmpty(userIds), OrgUser::getUserId.
springboot前后端分离项目如何导出excel数据 首先前端写好点击事件 handleExport() { this.$alert( <div class="el-message-box--custom-body"> <div style="font-size:16px">确认导出所有数据?</div> </div>, "数据导出", { showCancelButton: true,
关于一次性插入大量数据(几十万)的异步写法 首先情况是这样的 因为我需要一次授权全部的用户 所以当用户量很大的话 前端响应时间会超时 所以这时候就需要异步响应一开始 写controller接口这个authAppUser其实就传一个appId而已 @RequiresPermissions({"authorize/index:foreverAuth"}) @Transactional(rollbackFor = Exception.class) @PostMapping(value = "/saveAllUserAuth")