自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 导出excel【动态表头,多个sheet】

导出excel【动态表头,多个sheet】

2023-02-20 14:52:48 6088

原创 IDEA - 自动生成单元测试的插件

下载插件1. File——>Settings——>Plugins,搜索Squaretest,然后install就好了,插件安装完成后需要重启一下。2. 重启之后,菜单栏就多了一项Squaretest,点击Squaretest后,菜单的最后一项:Generate Test Methods(Help)来看它的一个演示。演示首先:我们打开一个类,这个类就是我们即将要作为实验的类。Squaretest生成的单元测试方法都是只能生成public的。其次:光标定位到代码里,...

2022-05-12 14:46:37 15164

转载 Spring Validation最佳实践及其实现原理

Java API规范 (JSR303) 定义了Bean校验的标准validation-api,但没有提供实现。hibernate validation是对这个规范的实现,并增加了校验注解如@Email、@Length等。Spring Validation是对hibernate validation的二次封装,用于支持spring mvc参数自动校验。接下来,我们以spring-boot项目为例,介绍Spring Validation的使用。引入依赖如果spring-boot版本小于2.3.x,spr

2022-05-11 11:11:52 5928

原创 Java 8 Stream 的使用

将couponList集合中的CouponVo对象里的属性couponId,去重并转换成字符串。(1)去重:.distinct()(2)转换成字符串:.collect(Collectors.joining(“,”))String couponId = couponList.stream().map(CouponVo::getCouponId).distinct().collect(Collectors.joining(","));将payList集合中的RechargePayItem对象里的.

2022-04-06 11:50:25 605

原创 Mybatis 动态添加多条数据SQL

1. 配置文件中一定要添加allowMultiQueries=true 的作用: 1.可以在sql语句后携带分号,实现多语句执行。 2.可以执行批处理,同时发出多个SQL语句。2. 动态SQL语句列子: <insert id="insertSellVipPersonList" parameterType="java.util.List"> <foreach collection="list" item="item">...

2020-09-28 13:43:54 2532

原创 阿里云身份证OCR识别 and 阿里云身份证验证

Controller层 package com.ciip.cloud.core.usercenter.controller;/* * Title: CiipUserController * Description: TODO * * @author kindin */import com.ciip.cloud.core.common.constant.usercenter.CIIPCommonConstant;import com.ciip.cloud.core.common.vo.

2020-05-26 10:53:05 1346

转载 Spring Boot 整合 Redis配置,依赖

1.pom.xml文件:<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId></dependency>2.yml文件: redis: # Red...

2020-05-06 16:22:12 517

原创 防止重复提交注解

防止重复提交 标记注解/** * Title: NoRepeatSubmit * Description: 防止重复提交标记注解 * * @author kindin */@Target(ElementType.METHOD) // 作用到方法上@Retention(RetentionPolicy.RUNTIME) // 运行时有效public @interface NoRe...

2020-04-30 10:43:14 6767 1

原创 RedisUtil工具类 添加,获取缓存,模糊查询key

package com.ciip.cloud.core.common.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Compo...

2020-04-30 10:18:46 2190

原创 Comparator 实现排序(java7,java8)

集合对象://JYJProduct实体类JYJProduct jyjProduct = new JYJProduct();//list集合List<JYJProduct> list= new ArrayList<JYJProduct>();方法一: // 按照综合进行**升序**排列Collections.sort(list, new Comparator&...

2020-04-29 10:22:42 350

原创 实现自定义返回数据类型(ResponseBodyAdvice)

实现自定义返回数据类型在这里插入代码片功能快捷键撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + Shift + H无序列表:Ctrl/Command + Shift + U有序列表:Ctrl/Command + Shift + O...

2020-04-24 17:42:58 1528

原创 发送html邮件,读取html内容,并动态赋值

1.service层package com.ciip.cloud.core.usercenter.service.cooperation;import com.ciip.cloud.core.common.vo.ResponseMessage;/** * Title: EmailService * Description: 发送邮件 * * @author kindin *...

2020-04-22 15:18:57 6266 1

原创 Spring Boot 定时器 @Scheduled 注解 个参数详解

@Scheduled注解为定时任务1. cron表达式里写执行的时机(1) cron表达式是一个字符串,字符串以5或6个空格隔开,分开共6或7个域,每一个域代表一个含义;(2)cron表达式语法:[秒] [分] [小时] [日] [月] [周] [年];(3) [年]不是必须的域,可以省略[年],则一共6个域;cron规则:特殊字符表达式*:代表所有可能的...

2020-04-22 14:46:15 922

原创 Spring Boot 定时任务(@EnableScheduling,@Scheduled)

1.pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocatio...

2020-04-22 13:55:05 276

原创 拼音工具类(字符串中的中文转化为拼音,汉字串拼音首字母,字符串的第一个汉字的首字母...)

import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;import net.sourceforge.pinyin...

2020-04-09 17:32:03 430 1

原创 Spring Boot 中 spring-boot-starter-parent

pom.xml中依赖:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> &...

2019-08-07 16:50:25 278

原创 Spring Boot 整合 Thymeleaf 模板引擎(依赖,配置)

pom.xml中的依赖:<!-- thymeleaf 模板 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></depende...

2019-08-07 16:17:48 663

原创 Spring Boot应用中整合RabbitMQ

pom.xml中依赖:<!-- 消息队列 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency>applic...

2019-08-07 15:06:50 232

原创 第三方登录获取用户基本信息

1.QQ登录获取第三方用户信息:在QQ开发者平台注册过应用获取到了应用的APPID,并且已经获取到accessToken,openid //获取等三方登录用户信息 String nickname =""; String avatar =""; try { String result1 = HttpC...

2019-08-02 10:15:16 2321

原创 MySQL 触发器,实现不同数据库,不同表名,表结构不同,数据实时同步

创建触发器:CREATETRIGGERtrigger_nametrigger_timetrigger_eventONtbl_nameFOREACH ROWtrigger_stmttrigger_name:标识触发器名称,用户自行指定;trigger_time:标识触发时机,取值为 BEFORE 或 AFTER;trigger_event:标识触发事件,取值为...

2019-08-01 15:34:16 3597

转载 MySQL 触发器

一、触发器简介1、触发器简介触发器是和表关联的特殊的存储过程,可以在插入,删除或修改表中的数据时触发执行,比数据库本身标准的功能有更精细和更复杂的数据控制能力。2、触发器的优点A、安全性可以基于数据库的值使用户具有操作数据库的某种权利。可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据;可以基于数据库中的数据限制用户的操作,例如不允许股票的价格的升幅一次超过10%...

2019-08-01 15:06:43 173

原创 MySQL FEDERATED引擎使用,类似Oracle DBLINK

本地服务器访问远程服务器的数据同步,即不同服务器,不同数据库,表结构一致数据实时同步。1. 查看启Federated引擎是否安装 ; mysql>show engines;2. 查看出已安装FEDERATED,并且是YES启动状态;如果没有安装FEDERATED,则需要安装:mysql> install plugin federated soname ‘h...

2019-08-01 14:01:15 171

原创 Idea 中安装 Alibaba java Coding Guidelines 阿里巴巴Java编码规范

打开 Settings >> Plugins >> Browse repositories...2.在搜索框输入alibaba即可看到Alibaba Java Code Guidelines插件,点击Install进行安装,然后重启IDE生效注意:因为插件zip包托管在Jetbrains官方CDN上,所以是从国外的服务器进行下载,可能会出现超时的情况3....

2019-07-16 13:54:18 468

原创 MQ--消息中间件

1.MQ概况 消息队列具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。2.MQ消息中间件的组成 2.1 Broker 消息服务器,作为server提供消息核心服务 ...

2019-07-09 18:14:15 163

原创 AES加解密

pom依赖:<!--&lt;!&ndash;加密引用&ndash;&gt;--><dependency> <groupId>com.github.yinjihuan</groupId> <artifactId>monkey-api-encrypt</artifactId>...

2019-07-08 17:32:26 338

原创 svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法

1.无论是commit还是updete都不行,提示需要执行clean up 。但svn执行clean up命令时报错 "Previous operation has not finished; run 'cleanup' if it was interrupted"。2.svn 的 operation是存放在 "work queue" 里的。而 "work queue" 是在内嵌数据库...

2019-07-04 14:11:01 706

原创 阿里云Oss水印图片处理Utils

package com.ciip.cloud.core.usercenter.utils;import sun.misc.BASE64Encoder;/** * Title: WaterMarkUtils * Description: 阿里云Oss水印图片处理 * * @author * @created 2019/5/22 11:36 */public class W...

2019-06-23 16:37:12 3831 2

原创 导出excel,并生成多个sheet(使用Hutool工具类)

1.引入POI依赖 :<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactI...

2019-06-04 16:27:06 15684 4

原创 第三方登录_微信

1.微信配置文件:#第三方微博登录配置constants: #WECAT weCatAppId: ******(微信平台的AppID) weCatAppSecret: *********(微信平台的AppSecret) weCatRedirectUrl: ********(登录成功后的回调路径:http://www.****.com,即与微信开放平台中的授权...

2019-05-30 15:14:03 660

原创 第三方登录_微博

1.微博配置文件:#第三方微博登录配置constants: #WEIBO weiBoAppId: ******(微博平台的AppID) weiBoAppSecret: ********(微博平台的AppSecret) weiBoRedirectUrl: ********(登录成功后的回调路径:http://www.****.com/api/v1/anon/w...

2019-05-30 14:25:43 632 1

原创 第三方登录_QQ

1.QQ配置文件:#第三方QQ登录配置constants: # QQ qqAppId: ******(QQ平台的AppID) qqAppSecret: **********(QQ平台的AppSecret) qqRedirectUrl: ***********(登录成功后的回调路径:http://ucapi.****.com/api/v1/anon/qq_l...

2019-05-27 18:17:47 656

原创 脱敏工具类

实现脱敏处理类:package com.ciip.cloud.core.usercenter.utils;import com.ciip.cloud.core.usercenter.config.aliyun.Desensitized;import org.springframework.data.domain.Page;import org.springframework.dat...

2019-05-23 15:22:09 1857

原创 SpringBoot全局异常与数据校验

1.全局异常控制类加入拦截@ControllerAdvicepublic class GlobalExceptionHandler { /** * 全局验证异常类 * * * @param request * @param exception * @return */ //添加全...

2019-05-05 17:35:54 209

原创 Spring boot 整合 MyBatis-Plus

MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,...

2019-04-24 15:35:14 111

原创 Swagger2Markup 导出API文档

Swagger2Markup是Github上的一个开源项目。该项目主要用来将Swagger自动生成的文档转换成几种流行的格式以便于静态部署和使用,比如:AsciiDoc、Markdown、Confluence。依赖:<!--生成接口文档--><dependency> <groupId>io.github.swagger2markup</...

2019-04-23 17:16:13 1003

原创 Spring boot 集成 Spring Security (接口安全)

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。依赖:<!-- 接口安全 Spring security --><dependency> <groupId>org.springframework.boot</groupId> <artifactId&...

2019-04-23 15:35:20 1056

原创 Spring boot 整合 Swagger2 (生成接口文档的方式)

Swagger2是一个方便后端编写接口文档的开源项目,并提供界面化测试。依赖:<!--Swagger2 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version...

2019-04-23 13:54:06 363

原创 Redis 存储机制

Redis存储机制分成两种Snapshot和AOF。无论是那种机制,Redis都是将数据存储在内存中。一、RDB(Snapshot)概述Snapshot工作原理: 是将数据先存储在内存,然后当数据累计达到某些设定的伐值的时候,就会触发一次DUMP操作,将变化的数据一次性写入数据文件(RDB文件)。优点:使用单独子进程来进行持久化,主进程不会进行任何IO操作,保证了redis的高性能缺...

2019-04-19 17:25:20 231

原创 Redis是单线程,为什么这么快?

为什么这么快,简单说法:1.redis是基于内存的,内存的读写速度非常快;2.redis是单线程的,省去了很多上下文切换线程的时间;3.redis使用多路复用技术,可以处理并发的连接;较详细的解释:1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1);2、数据结构简单,对数据...

2019-04-19 15:18:30 460 1

原创 Redis 、Ehcache、 Memcache

EhCache 是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。特点:1. 快速2. 简单3. 多种缓存策略4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题5. 缓存数据会在虚拟机重启的过程中写...

2019-04-19 14:28:35 214

空空如也

空空如也

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

TA关注的人

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