Java
文章平均质量分 51
那孩子
这个作者很懒,什么都没留下…
展开
-
使用POI读取大文件Excel
前言:前段时间,由于项目中有一个功能,导入大量的数据,整个Excel的容量大概有200M左右,用以前的方法读取很慢,甚至会内存溢出,所以后面改用另外一种方式(驱动模式),其实我也不是很懂,是借鉴了一个前辈的思路(https://www.cnblogs.com/swordfall/p/8298386.html),下面直接上码 1.引入jar包,POI的依赖包<!-- poi of...原创 2019-01-23 13:14:01 · 4308 阅读 · 2 评论 -
springboot集成Mybatis-plus完整示例
说明:MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。以前项目中经常使用的是mybatis,现在项目中接触到mybatis-plus,个人觉得挺不错的,只需简单配置,即可使用。内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满...原创 2018-12-28 01:16:24 · 3360 阅读 · 0 评论 -
SpringMVC接收上传的Excel并解析获取内容(兼容2003和2007)
系统中常用到的批量导入功能,根据Excel内容批量插入,这里实现获取上传的Excel内容,由于offer2003前和2007后的版本所使用的API不一样,这里也做了兼容处理1.引入maven包<!-- poi office --> <dependency> <groupId>org.apache.poi</...原创 2018-08-22 14:02:00 · 2940 阅读 · 2 评论 -
springboot实现线程池--使用@Async实现异步调用
举例场景:当用户支付成功之后,需要马上通知商家(发短信或者语音提示功能等),然后再处理其他业务,如果按照正常逻辑,同步执行,当通知商家这个步骤响应很慢,则后面逻辑就需要等待它执行完毕后才能继续走下去。这样子,我们就可以用线程去异步处理,而我们在项目中,如果直接新建线程,可能会造成很大的开销。所以,优先使用线程池(由于多线程这一块我本人也不是非常的熟悉,有错误请各位大佬提出) 第一步:定义线...原创 2018-12-21 20:34:34 · 1446 阅读 · 0 评论 -
springboot使用注解实现定时器
springboot实现定时作业非常的简单,只需要几个简单的注解就行了1.@EnableScheduling2.@Scheduled @EnableScheduling@Slf4j@Componentpublic class ScheduledTask { @Scheduled(cron="0 0/1 * * * ?") public void testO...原创 2018-12-21 14:27:49 · 8800 阅读 · 0 评论 -
springboot统一处理异常和自定义异常
在我们做web系统的时候,难免会出现各种各样的异常,但是这种异常,不能直接显示在客户端,所以我们服务端就需要做统一处理,统一返回格式给客户端这里用到了spring的两个注解:@ControllerAdvice---控制器增强和@ExceptionHandler ---异常处理下面来看看具体的实现,建立一个类,加上@ControllerAdvice注解/** * 统一异常处理类 ...原创 2018-12-06 20:27:26 · 4146 阅读 · 0 评论 -
Java Map的几种遍历方式
模拟数据:Map<String, String> map = new HashMap<>(); map.put("A","a"); map.put("B","b"); map.put("C","c"); map.put("D","d");1.for-ea原创 2018-12-06 18:54:22 · 195 阅读 · 0 评论 -
Java使用Redis实现分布式锁来防止重复提交问题(Redis锁)
前言:在系统中,有些接口如果重复提交,可能会造成脏数据或者其他的严重的问题,所以我们一般会对与数据库有交互的接口进行重复处理。我们首先会想到在前端做一层控制。当前端触发操作时,或弹出确认界面,或disable入口并倒计时等等,但是这并不能彻底限制,因此我们这里使用Redis来对某些操作加锁场景:场景一:在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交 场景二:表...原创 2018-11-27 12:05:24 · 13231 阅读 · 1 评论 -
Java HTTP工具类
package com.redis.sign;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameV...原创 2018-11-27 00:42:23 · 3105 阅读 · 0 评论 -
Java-微信和支付宝进行默认授权获取openId/UserId
前提:有些需求需要用到微信用户的openID的时候,而又不想用户进行确认授权的时候,就可以进行默认授权一、微信默认授权1.1设置网页授权域名--(公众号设置-功能设置-网页授权域名)1.2.获取APPID和secret1.3 默认授权页面<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml...原创 2019-05-09 13:42:18 · 7860 阅读 · 0 评论