javaFaker
得之,我幸;不得,我命。——徐志摩 如果我们需要造一些假数据,例如随机姓名之类的,可以使用javaFaker 首先是GAV 123456<!-- javaFaker --><dependency> <groupId>com.github.javafaker</groupId> <artifactId>javafaker</artifactId> <version>1.0.2</version></dependency> 然后我们可以往数据库放入200条数据,这里用我们的Faker.instance(Locale.ENGLISH).name().lastName()生成用户名 123456789@Resourceprivate MpUserService mpUserService;@Testpublic void insert() { AtomicInteger index = new AtomicInteger(5); ...
避免list中remove导致ConcurrentModificationException
凡不是就着泪水吃过面包的人是不懂得人生之味的人——歌德 我们在list循环中调用remove函数删除自身元素可能会导致java.util.ConcurrentModificationException 例如 1234// 构造从0到20的listList<Integer> list = Stream.iterate(0, i -> ++i).limit(20).collect(Collectors.toList());// 删除list.forEach(list::remove); 首先我们可以使用removeIf代替 1list.removeIf(i -> i.equals(i)); 其次我们可以使用迭代器 我们可以看到removeIf的源码正是使用了迭代器 如下 12345Iterator<Integer> iterator = list.iterator();while (iterator.hasNext()) { Integer nowNumber = iterator.next(); iterator....
springboot文件大小限制
繁枝容易纷纷落,嫩蕊商量细细开。——唐•杜甫 springboot文件大小限制 首先是可以在配置文件中进行配置 1234567spring: servlet: multipart: # 单个文件 max-file-size: 1GB # 一次请求 max-request-size: 1GB 还有,我们也可以在代码中进行配置 123456789@Beanpublic MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); // 单个数据大小 factory.setMaxFileSize(DataSize.of(1, DataUnit.GIGABYTES)); // 总上传数据大小 factory.setMaxRequestSize(DataSize.of(1, DataUnit.GIGABYTES)); return...
移动云存储上传文件
生命很快就过去了,一个时机从不会出现两次。必须当机立断,不然就永远别要。——罗曼·罗兰 首先打开官方文档 下载下方的开发包 期间我们可以去注册并配置,注意需要配置实名认证。。。 下面的步骤可以看快速入门 然后根据这篇博客把jar包引入maven项目 最后是代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657package com.ruben.utils;import com.amazonaws.ClientConfiguration;import com.amazonaws.auth.AWSCredentials;import com.amazonaws.auth.BasicAWSCredentials;import com.amazonaws.services.s3.AmazonS3Client;import com.amazonaws.services.s3.model.CannedAccessContro...
职场心得
职场二字,究竟是什么呢?我作为一名入职快一年的java程序员表示,职场就是——在尊重他人的情况下把自己该干的活干的漂亮!职场中最重要的品质就是尊重,因为在团队协作中,如果不尊重他人,就会给他人带来困扰,或者犯一些不应该犯的错误。在我还是小孩的时候,就曾憧憬于上班的白领:早上拿着咖啡走进办公室对大家道一声:早安,打工人!然后坐在办公椅上,像蜜蜂一样辛勤工作,下班后踩着路灯照亮的人行道回家。 对于工作的目的,老板说:工作就是为了让我过上更好的生活;在疫情中战斗的医护人员说:工作就是让患者康复,挽救更多的生命;城市环卫工人说:工作就是让城市变得干干净净的;对我来说:工作的目的其实很简单,养活自己,不要让父母操心。父母养育我这么多年,我现在要做的是尽量减轻他们的负担。 经常有人问我,学java学到什么地步可以找到第一份工作?我的回答始终只有一个:别问了,去学习!迷惘的时候,提升自己无疑是最正确的选择。我这个人,每天的生活非常丰富,但也非常规律。我不抽烟,酒仅止于浅尝。晚上12点睡,每天要睡足8个小时。睡前,我一定写一篇技术博客,然后做50个仰卧起坐,上了床,马上熟睡。一觉到天亮,决不把疲...
引入本地jar包
不管努力的目标是什么,不管他干什么,他单枪匹马总是没有力量的。合群永远是一切善良的人的最高需要。——歌德 对于本地jar包,如何让它加入我们的项目并使用maven的GAV管理起来呢 其实很简单 需要在当前项目根路径(在pom.xml的那层)使用 1mvn install:install-file -Dfile=[本地jar包路径] -DgroupId=[自定义groupId] -DartifactId=[自定义artifactId] -Dversion=[自定义version] -Dpackaging=jar 例如 1mvn install:install-file -Dfile=D:\file\files\Onest-S3-java-SDK.jar -DgroupId=com.move -DartifactId=moveOss -Dversion=1.0 -Dpackaging=jar 再使用我们定义的GAV引入,这样就可以使用我们本地jar了 123456<!-- 移动云对象存储 --><dependency> <gr...
reduce补充
先发制人,后发制于人。——《汉书》 关于stream中的reduce这里做个补充 我们使用reduce常用的其实有两种方式 12System.out.println("求和:" + random.ints().limit(10).boxed().reduce(Integer::sum).orElseThrow(() -> new RuntimeException("求和失败"))); System.out.println("求和2:" + random.ints().limit(10).boxed().reduce(0, Integer::sum)); 这里求和2中我们传入参数0,表示后面返回的是和参数0同类型的返回值 但如果使用第一种,返回的则是Optional 这里其实还有第三种重载方法,但这种方法我们使用场景较少 1System.out.println("求和3:" + random.ints().limit(10).boxed().reduce(0, (i1, i2)...
quartz指定时间点触发
国家用人,当以德为本,才艺为末。——康熙 之前写过一篇Quartz的博客 今天做一点补充 如果我们需要指定时间点触发任务,则可以使用 123// 指定时间点触发Date executeDate = new Date(System.currentTimeMillis() + 5000);TriggerBuilder.newTrigger().startAt(executeDate).withIdentity("achao", "ruben").build(); 这样去构建 这样,我们的任务就会在指定的时间点触发
如何给博客添加看板娘(二)
只有跨越了来自人类自身恐惧的人,才有资格被称为站在顶峰的人。我是这样认为的。——迪奥·布兰度 这次就非常简单啦 首先你得准备模型文件 然后把这段代码粘贴过去 1234567891011121314151617181920<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><!-- Live2DCubismCore script --><script src="https://VampireAchao.github.io/js/live2dcubismcore.js"></script><!-- Build script --><script src="https://VampireAchao.github.io/j...
springboot中VO属性别名
路是脚踏出来的,历史是人写出来的。人的每一步行动都在书写自己的历史。——吉鸿昌 使用springboot进行开发时,使用的VO有时候会更改别名,如果我们直接更改属性名,就需要把引用的地方都改了,较为麻烦 springboot默认使用jackson进行序列化/反序列化参数 所以我们可以使用com.fasterxml.jackson.annotation.JsonProperty注解 给我们的VO起一个别名,然后我们请求就可以使用别名keyword 我们发送请求后debug可以看到确实接收到了
