自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 资源 (13)
  • 收藏
  • 关注

原创 mongo直接在数据库中更新数据,不查到内存

由于数据量巨大,查询到内存操作完之后保存非常耗时,改为在数据库中直接操作

2022-06-07 11:11:07 362

原创 EasyExcel解析excel(合并单元格和未合并)

未合并的单元格excel文件 /** * 转换用户上传的excel文件为java对象 * * @param file 用户上传的文件 * @param clazz 将被解析的类 * @param <T> 泛型,任意类型 * @return 返回解析数据的List形式 * @throws IOException 文件读取异常 * @throws EquipmentException 自定义异常

2022-05-27 09:58:50 2663

原创 前端上传图片至服务器,然后前端通过url访问图片

后端需挂载图片路径,前端上传图片时直接上传至挂载路径。添加虚拟路径访问,例如图片都存放在linux服务器的/root/avatar/目录下,访问时想设置avatar代替目录,若web端口为10000,则localhost:10000/访问前缀(未设置不填)/avatar/图片名可访问到图片@Configurationpublic class AvatarVirtualConfig implements WebMvcConfigurer { @Override public voi.

2022-05-18 17:32:52 5616

原创 mongo数据库聚合分类,只返回数据库中指定字段不重复的数据

T.class为mongo数据库实体类 TypedAggregation<T> noRepeated = Aggregation.newAggregation( T.class,//数据库的实体类 Aggregation.match(Criteria.where(数据库字段).is(待满足的条件).and(数据库字段).is(待满足的条件)),//匹配的规则,先获取数据中将满足条件的警报

2022-05-17 15:00:31 613

原创 springboot邮件发送(QQ邮箱)

yml配置文件spring: mail: host: smtp.qq.com port: 587 username: 发件人的QQ邮箱 password: QQ邮箱里设置-》账户-》开启POP3/SMTP服务-》取得的码 protocol: smtp default-encoding: UTF-8 properties: mail.smtp.auth: true mail.smtp.starttls.enable: t.

2022-03-31 16:46:43 1032

原创 指定定时任务,可改变任务定时时间

实现SchedulingConfigurer接口提前注入TaskScheduler @Bean public TaskScheduler taskScheduler() { ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler(); scheduler.setPoolSize(128); scheduler.setThreadNamePrefix("TaskSche.

2022-03-28 09:25:37 587

原创 采用LocalDateTime获取指定时间段

导包import java.time.LocalDateTime;import java.time.temporal.TemporalAdjusters;例如获取上一个月最后一天的最后一个时间点 dateTime.minusMonths(1) .with(TemporalAdjusters.lastDayOfMonth()) .withHour(23) .withMinute(59)

2022-03-22 15:04:01 2567

原创 Docker,流水线部署镜像时,第一次没有启动删除报错解决

应该先判断是否存在docker ps -q --filter "name=nettyserver" | docker stop nettyserverdocker ps -q --filter "name=nettyserver" | docker rm nettyserverdocker ps -q --filter "name=registry.cn-beijing.aliyuncs.com/cqupt/transformer-energy-nettyserver:1.0.0" | docker

2022-03-21 14:25:13 147

原创 JPA表间关系(多对多,一对多,多对一)

**AccountEntity:用户RoleEntity:角色Permission: 权限一个用户只能有一个角色,而一个角色可以属于多个用户,一个角色拥有多个权限,一个权限也可以被多个角色拥有**OneToMany(此时的角色就为一对多),在多的一方中加入少的一方的Set集合。targetEntity 为关联的实体类。JoinColumn可减少中间表的生成,account_role_id为待会儿会在少的一方(AccountEntity)中生成的角色Id字段,referencedColumnNa

2022-03-15 12:57:50 1224

原创 Compose文件配置springboot环境变量

application.yml文件中的私密密码需要隐藏在服务器,因此需要将变量写在compose文件中。在compose中加入environment然后下挂 参数名:“参数值”,如果在springBoot中有换行则需加下划线_.

2022-03-07 16:30:07 565

原创 Mongo查询子文档中的多重嵌套

例如它的数据库为这个样子,该列名称为provinces.mongo按照以下进行筛选即可。query.addCriteria(Criteria.where(“provinces”).elemMatch(Criteria.where(“projects”).elemMatch(Criteria.where(“boxes”).elemMatch(Criteria.where(“id”).is(“1422”)))));...

2022-03-07 14:06:06 915

原创 DockerSwarm compose启动,容器时间和本地不一致

在Dockerfile中添加RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" >/etc/timezone在compose文件中挂载 volumes: - /etc/localtime:/etc/localtime:ro

2022-02-28 09:53:02 253

原创 Collectors.groupingby生成两成map嵌套,或者保持list的顺序生成

groupingby两个参数中的前者,生成的是最外面一层map的key,如果不加第二个参数原本应该生成list,改变他默认的生成规则,第二个参数填我们想让它的value怎么生成。list的链表.stream().collect(Collectors.groupingBy(Monitor::getNodeId,Collectors.toMap(Monitor::getAddr,Function.identity())));保持原有的list顺序生成maplist的链表.stream().col.

2022-01-28 15:29:10 2603

原创 mongo查询后返回子文档中的部分数据(不全部返回)

采用MongoTemplate实现、f Query query = new Query(); query.addCriteria(Criteria.where(单独的字段).is(某个值)); query.fields().elemMatch(子文档所在字段,new Criteria(子文档中某个参数).is(某个值)); mongoTemplate.findOne(query, GatewayDoc.class);举例: .

2022-01-28 15:22:58 1529

原创 Docker部署mqtt服务器(emqx),密码认证

拉取emqx镜像docker pull emqx/emqx:v3.0.1启动emqx,docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:v3.0.1修改需要账号密码登录,认证方式为mysql。1、进入emqx的docker容器内:docker exec -it emqx /bin/sh2、修改etc目录中的exqx.conf文件中的allow_.

2022-01-26 13:52:41 5854 3

原创 实现swagger在线文档

导包implementation 'io.springfox:springfox-boot-starter:3.0.0'写swagger@Configuration@EnableOpenApipublic class SwaggerConfig { @Bean public Docket docket(){ return new Docket(DocumentationType.OAS_30) .apiInfo(apiInf.

2022-01-19 11:01:15 167

原创 在请求期间通过ThreadLocal单用户共享

在拦截器preHandle内,采用set赋值,postHandle后clear防止内存泄露。//创建一个类, ThreadLocal<AccountInfo> USER_HOLDER = new ThreadLocal() public static void setUser(AccountInfo user) { USER_HOLDER.set(user); } public static AccountInfo getUser() {

2022-01-19 08:33:49 303

原创 Jwts生成令牌案例(简单)

导入依赖 implementation 'io.jsonwebtoken:jjwt:0.9.1'生成Token static String generate(final String username, final String secret) { Instant instant = Instant.now(); return Jwts.builder() //注入参数 .claim(.

2022-01-10 18:45:56 618

原创 Gradle剔除依赖

在导入依赖的地方(注意:需要打括号将导入的依赖包住) implementation ('com.cqupt:transformer-energy-core-api:1.6.9'){ exclude group:'org.springframework.boot',module:'spring-boot-starter-data-mongodb' }

2022-01-10 18:20:07 1719

原创 java8(stream)从数组或集合中找到符合条件的就返回该对象

测试代码 public static void main(String[] args) { List<Integer> list =new ArrayList<>(); for (int i=0;i<10000;i++){ list.add(i); } Integer integer = list.stream() .filter(integer1 -> {

2022-01-09 18:26:29 10444

原创 加载sql表进sql数据库(有就不加,没有才加,flyway)与初始化mongo(mongock)

mysql导入gradle包 除sql驱动之外还需 implementation ‘org.flywaydb:flyway-core:5.2.4’在resources包下,创建db目录并在db下创建migration目录将sql表按命名规范放入2中的migration目录下启动项目即可成功。mongo除mongo所需的jar包外,还需implementation ‘com.github.cloudyrock.mongock:mongock-spring-v5:4.3.8’imple

2022-01-08 12:55:57 509

原创 使用阿里云Maven仓库部署项目公共jar包(Gardle)

进入阿里云的maven仓库,将以下复制到公共项目的build.gradlew中.

2022-01-06 19:03:54 1615

原创 Redis存数据时,多出一个类中没有的属性(java),get方法导致

1、发现在取redis时一直报一个不能转换的错误,发现是对象中有一个属性在类中不存在allRegisterVbox。2、后发现是类中取参数时没有用默认的getter用了一个getAllRegisterVbox的方法获取,因此除了对象本身之外,还多了一个这个参数,换回默认的getter后,错误消失....

2021-12-31 13:53:17 881

原创 跨工程Redis数据序列化错误(解决)

问题原因为存入redis中的全类名类在取的工程中不存在,如果直接将存的类复制到取的工程也可以解决,但是看起来不那么舒服,抽取成第三方jar包的方式比较优雅1、在项目中抽取一个公共的jar包部署在maven仓库,将相关redis操作的所有类都放在这个jar包中,其他工程以引入依赖的形式使用,这样就没有序列化问题了。...

2021-12-24 14:11:40 1083

原创 前端ajax带token跨域问题,后端有拦截器

1、尝试了在controller上加了@CrossOrigin标签,也尝试加filter因为有拦截器先后顺序,单。2、尝试在后端加上请求响应头允许所有跨域,然后放行,还是没用,没意思到options被拦截。3、发现options被拦截,拦截器放行所有options请求,并加上允许跨域访问请求头后解决。...

2021-12-24 14:07:54 1118

原创 Springboot打包的jar包在Linux的docker启动后,resources下文件无法被直接访问(解决)

将springboot静态资源映射路径更改为我们要存储静态资源的位置@Configurationpublic class AvatarSizeConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/avatar/**")//访问前缀为这个.

2021-12-21 14:05:10 2170

原创 springboot上传头像放在resources后,读取不到,待项目重新启动后能获取(解决)

1、由于上传的图片在相对路径,前端上传图片后,不会加载到资源文件中。所以第二次访问会找不到图片,但是图片是缺失存在的。2、添加映射访问,在这个里面加上你存放图片的绝对路径即可。.addResourceLocations("file:"+new File("src/main/resources/"+avatar).getAbsolutePath()+"\\")...

2021-12-20 22:43:55 883 3

原创 JAVA检测上传图片是否合法

1、将已知的图片类型写进内存,用list集合装起来,判断前端传递给我们的文件后缀是否被这些所包含。2、将前端上传图片的流转换成BufferImage,采用ImageIo输出的方式实现判断图片的内部结构是否为图片。如果不为图片会抛出异常,捕捉即可。 ImageIO.write( ImageIO.read(multipartFile.getInputStream()), 图片类型,

2021-12-17 17:10:23 1699

原创 Java8新特性学习记录

Instant用来操作时间,可以随意的加时间Instant instant =Instant.now();//获取当前时间instant.toEpochMilli();//获取当前的毫秒数instant.plus();//对时间进行加操作stream流flatMap操作可以将集合里面的集合以流的形式展开,然后从中得到想要的数据。...

2021-12-10 16:51:51 262

原创 java线程池处理线程有返回值,且需全部结束后统一处理。

方法一//创建一个计数器,标记所需执行线程的个数。CountDownLatch latch = new CountDownLatch(线程个数);线程池采用submit提交Callable任务的方式执行,这样有返回值Future,在线程结束的末尾调用latch.countDown();方法,标识执行完一个值就会减去1等待所有任务提交完成后,调用latch.await(5, TimeUnit.SECONDS);表示等待这些任务5s,没有返回的就不管了。...

2021-12-08 21:46:31 1098

原创 阿里云服务器启动部署traefik

为了方便管理采用文件映射的方式改变traefik里面的一些配置,我的文件都是放在root目录下。安装docker之后。在root目录下创建traefik文件夹,添加两个文件。(1)docker-compose-demo.ymlversion: "3"services: traefik: image: traefik:v2.5 deploy: mode: global placement: constraints:

2021-12-05 19:06:24 847

原创 Spring-Cloud学习笔记

Spring-Cloud和Spring-Boot有依赖性,共同使用时,需在Spring-Cloud确认他们合适的版本关系。(https://start.spring.io/actuator/info获取详细的json结果,再用json在线工具(或者用火狐浏览器搜索)处理一下就能看到了)。技术模块学习:服务注册中心(Nacos)、服务调用2(OpenFeign)、服务降级(sentienl)、服务网关(gateway)、服务配置(nacos)、服务总线(nacos)。...

2021-11-13 15:21:09 589

原创 springboot需要多例对象但Autowire创建为单例问题解决

问题我使用Autowire时,发现每次创建的handler对象都一样,导致neety报com.cqupt.nettyserver.ServerHandler is not a @Sharable handler, so can't be added or removed multiple times.错误,我在组件上添加了@Scope("prototype")//不加为单例,因为每次新的连接到来之后都需要分配一个新的对象,所以需改为多例注解还是不行,因为Spring IOC默认是单例。解决方案1、在需

2021-11-06 17:46:37 1193 1

原创 JVM(学习记录)

因为跨平台的设计。java的指令集都是根据栈来设计的(栈可以0地址,不依赖硬件(跨平台)、指令集小、指令多;执行性能比寄存器差)。JIT寻找热点代码缓存,执行效率高。类的加载过程:1)加载。生成字节码文件,最后会生成代表这个类的java.lang.class对象,作为方法区内存这个类的各种数据的访问入口;2)链接:①验证:保证class文件的字节流中包含信息符合要求;②准备:为变量分配内存,为它分配该类型的默认初始值,不包含final修饰的static,不会为实例变量分配初始化;③解析:将符.

2021-10-26 14:44:52 58

原创 java采用WebSocket向前端传输rtp封装的h264码流,使用wfs.js接收h264流,并在前端页面播放

Maven依赖

2021-10-22 14:17:05 5522 21

原创 引入Videojs之后,不能直接通过dom来调取video标签的play()方法解决方案

只要先定位到video标签的父类,然后再获取video标签即可。例如:<!DOCTYPE html><html lang="en"><head> <meta charset=utf-8 /> 引入css和js <link href="http://localhost:8080/dpplayer/video-js.css" rel="stylesheet"> <script src="http://loc

2021-10-18 21:35:13 955

原创 获取当前日期前n填的日期

Calendar calendar=Calendar.getInstance(); SimpleDateFormat format=new SimpleDateFormat("yyyy/MM/dd"); calendar.add(Calendar.DATE,-n);//把日期往后增加一天.整数往后推,负数往前移动 Date date=calendar.getTime(); //这个时间就是日期往后推一天的结果...

2021-10-14 15:50:25 76

原创 tomcat部署项目后不能访问到项目中的资源(已解决)

我出现的问题是使用web.xml文件配置了相关的过滤器之后,有些资源例如js、css和视频资源被拦截了,外部访问不了,查找资料后发现在web.xml中进行如下配置即可 <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> </servlet-mapping> <servlet-mappin

2021-10-08 21:36:07 2750

原创 使用video标签,连续播放无限个mp4(h264封装的)视频时,画面会闪烁的问题解决

采用的预加载方法,使用两个video标签加一个js中的Array(存储还没播放的视频。)html页面代码,除了下面的div之外,还需导入一个jquery的库我导的jquery-3.4.1.js这个。 <div> <video id="devVideo0" muted="muted">浏览器不支持 video0 标签</video> <video id="devVideo1" muted="muted">浏

2021-10-08 13:33:26 2179

原创 web部署在服务器上的tomcat后,视频无法播放(路径问题)解决

我自己是测试成功了的。部署在tomcat上后,访问都是应该以http形式访问,继续以文件路径的形式访问可能不安全就访问不到。例如:之前是直接放在webapp下,使用idea启动访问时,video标签填的src是1.mp4,但是部署在服务器的tomcat中的webapp之后,就访问不到该视频了。需要修改,例如tomcat中设置的访问前缀为video,则新访问路径为http://localhost:8080/video/1.mp4。...

2021-10-08 13:22:56 1734

Microsoft Visual C 微软运行库合集包完整版

Microsoft Visual C 微软运行库合集包完整版

2021-09-23

javaSocket的Tcp通信方式两个线程,一个线程接收数据一个线程发送数据

两个线程,一个线程接收数据一个线程发送数据

2021-06-22

手动输入jdk安装位置后自动配置环境

需要管理员身份运行,可达到手动输入jdk安装位置后自动配置环境

2021-06-16

ffmpeg\ffplay\ffprobe

ffmpeg\ffplay\ffprobe

2021-06-09

进制编辑器,可以查看文件的16进制数据

进制编辑器,可以查看文件的16进制数据

2021-06-08

STATest.java

Marthcup团簇和势能函数结构预测Java程序

2021-05-06

TCP传输多张图片,客户端和服务端都有

使用TCP传输多张图片,解决一次性传输多张图片接收方不能有效区分出每一张。先将接收的字节转字符串将每个文件传输完成的标志位找出,以区分(字节转转字符串时有些会转义,所以要设定编码方式)。

2021-04-29

基于fpga的电子时钟+6位数码管共阳极显示+仿真文件

基于fpga的电子时钟+6位数码管共阳极显示+仿真文件,仿真文件里面我仿真的时间较短,加长一点就可以看到效果了

2021-04-06

java中socket的TCP和UDP两种通信方式的例子

java中socket的TCP和UDP两种通信方式的例子

2020-12-09

standard_jstl.zip

EL里面的自定义函数所需的jar包

2020-12-09

javax.servlet.jar

session方法没有内置的方法,原因是缺失jar包,下载javax.servlet.jar包并添加后解决。

2020-12-07

Servlet的四种信息交互.zip

Servlet中的四种信息交互简单的例子,ServletContext、Cookie、HttpSession、HttpServletRequest

2020-12-06

servlet增删改查

servlet增删改查,记录自己的学习过程,用到了工具类的jdbc和网页的一些东西,分为4个部分,以后可能会用到,放在这里储存。里面还用到了jdbc驱动包和servlet的包。

2020-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除