Java项目
文章平均质量分 55
影落离风
这个作者很懒,什么都没留下…
展开
-
对视图模型构造相关参数的轮子
前言清明放假没事在家写一些常用的轮子,以便减少一些重复繁琐的编码工作。话不多说,继续往下看有时我们的接口数据返回给前端或者导出为excel时,需要给相关值带单位(kg/立方米/%等)、或保留小数位等。尤其是一些统计类的报表,值特别多、单位也就贼多了。做法查询时在sql中拼接。给sql添加了好多无聊的字符,看起来都不好看,维护性不好,看起来都头疼业务代码中循环拼接。这也很麻烦交给前端回显时去拼接。前端有可能要骂娘想法既然是面向对象编程,那最好就是有维护一个视图对象,供我们返回到前端一原创 2021-04-03 14:10:30 · 100 阅读 · 0 评论 -
利用反射对层级对象取其某层对象的某个值,可忽略层对象不存在
前言业务中取对象某个值时,经常会遇到对象不存在。当然只有一层对象嵌套的时候,使用Optional.ofNullable是最简单的。那要是我的对象嵌套了5层、10层,别惊讶,千奇百怪的业务总有会遇到的。要取最底层的某个值,那Optional就要写老长一串了,这就比较头疼了。想法还是利用反射,一层一层剥开你对象的心,看Ta是不是真心。如要拿到a对象中有个b属性对象中有个c属性的值,可以传字符串“b.c”构造get方法利用反射获取对现象值为什么说还是“还是利用反射”呢??看过我博客的人都知道,我的很多轮原创 2021-04-03 14:45:38 · 291 阅读 · 0 评论 -
大数据量excel含图片导出解决方案
前言公司存在很多excel含图片导出,因为提供给客户的excel可能还会打印出来,所以图片不能存链接。真坑!!!一步步解决原理使用这个SXSSFWorkbook进行excel导出,不了解的可以看我的这个博客你一定没用过最简单的使用SXSSFWorkbook快速导出百万条数据异步导出使用异步导出方式,用户点击导出后后台自动运行导出,无需用户等待,然后有个任务列表,导出完成后用户可以回来点开下载压缩导出建议压缩图片导出:因为压缩图片后导出可以支撑更多的数据量,但还是因服务器内存而定。原创 2021-01-09 17:51:01 · 627 阅读 · 1 评论 -
大量图片数据导出为excel导致内存溢出解决方案落地
前言目前我们公司项目使用该方案已实现:导出含有上G图片数据的excel,内存占用在60~70mb。这也是这个博客实现的目标。如果你现在遇到导出excel含图片有多大磁盘占用,就会有多大的内存占用问题,那你就来对地方了!继续接着前面的问题研究 大数据量excel含图片导出解决方案前面说使用分页导出解决,但是对于客户使用体验来说,也是很麻烦。查一条记录可能还得打开多个excel,所以能放在一个excel里对客户来说还是很舒服的。那就还是之前的问题,使用SXSSFWorkbook窗口操作图片没原创 2021-01-30 20:29:22 · 1381 阅读 · 0 评论 -
application.yml变成红色图标如何解决
前言记录一下我遇到的application.yml变成红色图标解决方法,我使用的是idea的解决方法,希望可以帮到其它遇到这个问题的人现状正常解决选中图标变成红色的项目在idea中快捷键 ctrl+shift+alt+s 打开Project Structure如上图可以发现正常服务有个绿色spring。如果你的红色图标项目是少这个绿色spring的话就可以用这里的方法解决如下操作add 绿色spring看到这些最后apply就好了,变绿了如此就大功告成...原创 2020-09-04 16:53:32 · 17265 阅读 · 5 评论 -
你一定没用过最简单的使用SXSSFWorkbook快速导出百万条数据
常见的导出可能上百万甚至千万的数据量业务场景历史订单的导出 历史订单明细的导出 历史支付明细的导出 用户信息的导出 等等等遇到这些问题我想你一定头疼过,客服或财务可能会在你睡觉的时候找上你财务:“大王赶快起来看下系统,系统又卡住了”大王:“你小子又干啥了”财务:“我刚导出了一个月的订单明细”大王:“那应该,没啥问题呀,我们一个月撑死也就1w笔订单”财务:“上...原创 2020-04-28 18:45:19 · 4126 阅读 · 0 评论 -
踩坑-IE浏览器中vue用axios跨域请求,列表中不存在请求标头
最近发现公司做的一个项目,一些供应商客户在浏览器上打不开,询问才知道用的是“天杀的IE浏览器”,这都2020年了居然还有人在用IE[默默的在心里暗骂]。我们建议客户安装谷歌,但是客户不接受我们的建议。好吧,那只能找找问题在哪里了。IE、360极速浏览器的兼容模式出现的问题前端使用的是vue,http请求使用axios后台的跨域处理在MDN web docs上查到了一些蛛丝...原创 2020-04-23 11:06:54 · 2569 阅读 · 0 评论 -
遇到问题不要慌
缘起自己平时有看博客或有其他方面学习到一些应对某些业务问题的解决方案,但是现实项目中又没有遇到过或者可能遇到也解决了,但是我忘了。。为避免下次遇到问题,不知道怎么解决,特此记录下。服务设计篇 Nacos实现服务注册与发现、配置中心管理 简单的说Nacos兼顾了eureka和Apollo或Spring Cloud Config的作用,Nacos使用起来相对比较简洁,在对性能要求比较...原创 2020-03-27 16:04:21 · 381 阅读 · 0 评论 -
Stream-流式处理的常用操作你GET到了吗?
Java8的新特性 对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。 借助于同样新出现的Lambda表达式,极大的提高编程效率和程序可读性。 提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使...原创 2020-03-19 18:57:10 · 698 阅读 · 0 评论 -
最常见的Optional操作
Java8的新特性 Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。 Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。 Optional 类的引入很好的解决空指针异常。 好处 可以对...原创 2020-03-18 16:08:57 · 1481 阅读 · 2 评论 -
spring cloud gateway中修改响应体,保证返回体是完整的
1. 我的版本: spring-cloud:Hoxton.RELEASE spring-boot:2.2.2.RELEASE spring-cloud-starter-gateway 2. 问题:之前试过一些方法拦截到了返回体,但是第一次的请求返回体参数输出是断开的,后来找到方法使其完整输出。import io.netty.util.ReferenceCou...转载 2019-12-21 16:01:50 · 4420 阅读 · 4 评论 -
spring cloud gateway中读取请求参数
1. 我的版本: spring-cloud:Hoxton.RELEASE spring-boot:2.2.2.RELEASE spring-cloud-starter-gateway 2. 请求日志import lombok.extern.slf4j.Slf4j;import org.springframework.cloud.gateway.filter.G...原创 2019-12-20 18:35:54 · 5654 阅读 · 4 评论 -
windowns中使用sh命令对springmvc项目进行不包含依赖打包
遇到的问题公司有一些springmvc项目,每次修改问题都要打成war包,而依赖的好多jar包又不好剔除,很麻烦; 之后每次部署项目时,不部署war,而是将target编译的文件中依赖删除,压缩该文件一般在1m左右,然后上传到服务器解压部署。 但这样还是很麻烦,每次编译后都要手动删除依赖、手动压缩、手动上传。使用sh脚本完成打包操作安装git 在git中安装zip【参考链接】打包...原创 2019-11-21 18:31:46 · 193 阅读 · 0 评论 -
springboot中抽出公共实体模型以依赖方式注入
项目使用spring boot+jpa在公司做业务开发时,可能会建多个子项目。而每建一个子项目都有依赖相应的实体(Entity,对应数据库中的某个表)、数据仓库(Repository)。这些Entity、Repository基本在每个子项目都相同。所以我就将这些Entity、Repository抽成一个依赖包,使每个子项目都依赖着这个包。好处:维护Entity、Reposito...原创 2019-11-15 18:22:16 · 1692 阅读 · 0 评论 -
踩坑-spring boot2.2.0返回json日期格式问题
问题: 请求接口返回的日期参数总是毫秒值,但是我需要的是这种格式:2019-11-07 15:35:48项目概况:spring boot2.2.0 使用了实现 WebMvcConfigurer接口的拦截器试了好几种方法:@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss", timezone = "GMT+8"),没有效果 spr...原创 2019-11-07 17:24:09 · 820 阅读 · 0 评论 -
踩坑-springboot中读取HttpServletRequest流的死循环
踩坑记录在我们公司一个springmvc项目中有一个读取HttpServletRequest流的方法,我把这个方法用在新的springboot项目中结果陷入死循环。经过很久的测试,发现这个方法用在springboot项目有问题,现在将这个坑记录起来,方便自己,方便他人。springmvc中HttpServletRequest读取流的方法,该方法在springboot中调用会陷入死...原创 2019-10-29 21:14:35 · 1916 阅读 · 0 评论 -
使用QueryDSL过程中你肯定遇到过的问题
如果是初次使用QueryDSL的同学建议去这篇博客:SpringDataJPA+QueryDSL玩转态动条件/投影查询,本文针探讨的是使用时遇到的一些问题:如何使用Projections.bean投影属性到查询对象,简化代码? 如何使用级联查询,关联同一张表两次?1. Projections简化代码,使代码更优雅使用Projections方法可以更简单更方便的返回自定义的参数...原创 2019-10-28 10:47:14 · 7395 阅读 · 0 评论 -
java中推送异常消息到钉钉群
实现在Java项目运行中出现异常信息及时推送到钉钉群,或推送其他通知类信息;主要工具包:package pers.niaonao.dingtalkrobot.util;import com.dingtalk.api.DefaultDingTalkClient;import com.dingtalk.api.DingTalkClient;import com.dingtalk.api...原创 2019-08-21 14:38:42 · 3429 阅读 · 0 评论 -
springboot中实现ResponseBodyAdvice接口在项目中统一处理修饰返回体
如果你有遇到此问题,相信我这篇博客可以帮你减少一部分工作量,让你专心于业务代码的实现。在项目中接口里总是会遇到这样一个问题,每次接口返回json数据都要return自己建立的公共返回体。如我的每个接口都要写这样一句话,虽然就一句,但是我很懒,尤其是重复的代码,我真的不想再写第二遍。然而当时也没有什么更好的方法,只能这样一遍一遍的去写。return new ResponseRe...原创 2019-07-09 17:32:23 · 6331 阅读 · 0 评论 -
在windows系统上使用java代码在ffmpeg环境对音频进行转换wav,pcm,ogg
1.先装一个ffmpeg环境,安装方法请自行百度。2.建一个类FfmpegTestpublic class FfmpegTest { public static void main(String[] args) { String sPath = "d:\\music\\test.wav"; String tPath = "c:\\music\\test.pcm"...原创 2018-03-08 17:41:23 · 2597 阅读 · 0 评论 -
基于websocket实现与图灵机器人即时聊天,服务端向客户端推送消息
1. 如何调用别人的接口或网络上的接口,制作HttpClientUtil工具类。2.编写测试类import java.io.IOException;import java.util.HashMap;import java.util.Map;import org.apache.http.client.ClientProtocolException;import c原创 2018-01-25 15:30:11 · 1327 阅读 · 0 评论 -
如何调用别人的接口或网络上的接口
java工具类import java.io.IOException;import java.util.Map;import org.apache.http.HttpEntity;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.methods.Clo原创 2017-12-25 22:50:22 · 9015 阅读 · 4 评论 -
wps制作pdf模板,Adobe Acrobat DC利用pdf模板做填充数据表单域,在maven项目中利用java生成pdf
如做pdf建议http://www.xdocin.com/index.html以下方法仅供参考首先制作一个pdf模板:1.先用word做出模板界面2.文件另存为pdf格式文件3.通过Adobe Acrobat pro软件打开刚刚用word转换成的pdf文件(注:如果没有这个软件可以通过我的百度云下载,链接:如果无法下载可以联系博主。链接:https://pa...转载 2018-01-25 00:27:01 · 13229 阅读 · 16 评论 -
java项目路径的获取--静态化路径工具类
import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang.StringUtils;/** * * 静态化路径工具类 */pub原创 2018-01-24 23:37:02 · 2776 阅读 · 0 评论 -
Java万能接收页面数据,并自动匹配封装为map对象
package com.mwk.util;import java.io.UnsupportedEncodingException;import java.net.URLDecoder;import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;原创 2017-12-09 21:26:09 · 899 阅读 · 0 评论 -
Activemq消息的发送与接收
这两天做项目用到即时消息的发送与接受,所以突击自学activemq。如果能看到这,说明你已经搜了好多资料了,这里我就不多说了。经过我的学习与网上的各种资料整理,封装了一个简单轻便的工具类方便大家使用。第一步:需要导入jar包 org.apache.activemq activemq-core 5.7.0 org.apache.activemq active原创 2017-12-09 21:14:59 · 968 阅读 · 0 评论 -
maven项目遇到cannot change version web module 3.0
Project Facets 》-----》----出现问题--------- 找到项目所在, .settings-文件夹-------->org.eclipse.wst.common.project.facet.core,修改为原创 2017-12-02 17:01:08 · 223 阅读 · 0 评论 -
springbooot配置mybatis
springbooot-mybatis我用的sts开发工具1.建项目,选中MyBatis,MySql,Web2. 建包如下3.建实体package com.mwk.myproject.entity;import java.io.Serializable;public class User implements Serializable { /** * */ private ...原创 2018-03-22 23:01:08 · 1009 阅读 · 0 评论 -
springboot-mybatis配置swagger
1.在原有的springboot-mybatis上配置2.导入swagger包 <!-- swagger2包 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifact...原创 2018-03-23 14:47:30 · 237 阅读 · 0 评论 -
pojo转vo更简便、更优化
在项目中使用pojo和vo(返回给前端或第三方接口的视图),会经常遇到pojo转vo的问题。之前总是以set方式去装配,但是遇到多个参数去set就会很麻烦。然后本人结合网上资料,使用CommonBeanUtils.copyProperties去对单个pojo转vo实现简化。ps.pojo字段与vo字段形式、类型保持一致我这个人真的是特别懒的人,能少些代码尽量少写代码;包括下面查出来的p...原创 2019-07-08 17:16:22 · 2118 阅读 · 2 评论 -
将项目中的jar文件生成pom文件
1. 首先在pom中导入以下包<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastJson</artifactId> <versi...转载 2019-06-13 18:36:33 · 3158 阅读 · 0 评论 -
springboot发送邮件
相信使用过Spring的众多开发者都知道Spring提供了非常好用的JavaMailSender接口实现邮件发送。在Spring Boot的Starter模块中也为此提供了自动化配置。下面通过实例看看如何在Spring Boot中使用JavaMailSender发送邮件。快速入门在Spring Boot的工程中的pom.xml中引入spring-boot-starter-mail...转载 2018-11-04 20:29:06 · 232 阅读 · 0 评论 -
使用XDocService.jar对将word转pdf
import java.io.File;import java.io.IOException;import com.hg.xdoc.XDocService;/** * XDocService调用示例 * @author xdoc */public class Test { /** * main * @param args */ public static void...转载 2018-06-13 16:44:49 · 1866 阅读 · 0 评论 -
java的aes加密解密,js的aes加密解密
java工具类import java.math.BigInteger;import java.security.spec.AlgorithmParameterSpec;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypto.spec.IvParameterSpec;import ja...原创 2018-05-22 11:34:31 · 311 阅读 · 0 评论 -
properties配置文件读取工具
package com.huachan.common.utils;import java.io.IOException;import java.io.InputStream;import java.util.NoSuchElementException;import java.util.Properties;import org.apache.commons.io.IOUtils;...转载 2018-05-25 18:02:40 · 1051 阅读 · 0 评论 -
maven项目maven clean时或者maven install的提示
1.警告提示:The requested profile "pom.xml" could not be activated because it does not exit解决方案:步骤1在Eclipse中右键单击您的项目步骤-2单击“属性”步骤-3在左侧列表中选择Maven。步骤-4您将在右侧的Active Maven Profiles文本框中注意到“pom.xml”。清除它并单击应用。2.ma...原创 2018-03-30 16:13:28 · 10120 阅读 · 0 评论 -
springmvc项目报错-启动tomcat停不下来
今天做项目遇到启动tomcat时停不下来,来来回回找了好几遍才发现是映射的xml的namespace路径没写对,导致tomcat启动不停止;有时启动扫描不到自己建的xml映射classpath:com/huacan/common/mapper/*.xml找找配置mybatis的这个路径,这个是扫描到你xml的配置路径原创 2017-12-05 22:03:31 · 1311 阅读 · 1 评论