![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 73
Java知识
芬达_fenda
愿历经风雨,仍心向光明!
展开
-
【Java】RedisTemplate来控制某段时间内执行最大次数
RedisTemplate来控制某段时间内执行最大次数的Java示例代码。假设我们希望限制某个操作(如发送邮件、访问特定API等)在1小时内最多执行n次原创 2024-04-26 17:40:30 · 408 阅读 · 5 评论 -
【Java】Aop+自定义注解实现水平分库
文章目录一、前言1.1 环境信息1.2 源码1.3 思路二、代码实现2.1 maven依赖2.2 配置文件2.3 数据源Spring配置类2.4 实现数据源路由抽象类2.5 自定义注解2.6 aop2.7 策略管理者2.8 水平分库抽象策略类2.9 自定义分库策略(参数是产品信息)2.10 自定义分库策略(第二个参数是店铺Id)2.11 使用三、总结一、前言前面我们已经用自定义注解+mybatis的拦截器实现了水平分表(传送门)。但是当数据量增加到一定程度时,我们不仅要水平分表还需要水平分库。当遇到这些原创 2021-09-01 22:32:24 · 1009 阅读 · 1 评论 -
【RocketMQ】Windows环境安装RocketMQ和控制台
一、基本信息系统:WindowsJDK1.8、Maven、GitRocketMQ4.7.1二、安装2.1 下载安装包到官网下载安装包解压安装包2.2 配置环境变量配置环境变量变量名:ROCKETMQ_HOME变量值:MQ解压路径\MQ文件夹名2.3 启动MQ启动NAMESERVER打开cmd命令窗口,切换到mq的bin目录下。然后执行’start mqnamesrv.cmd’命令,启动NAMESERVER。启动成功后不要关闭。启动BROKERCmd原创 2020-07-29 21:12:40 · 753 阅读 · 0 评论 -
Java开发SDK详解->客户端测试
一、前言前面已经开发好了服务端(服务端开发),并且已经打包好了SDK(SDK开发),现在我们在客户端引用SDK进行测试吧。二、详情2.1首先在项目中引入SDK创建一个SpringBoot项目,包sdk复制到项目的lib目录下。2.2 pom中引入jar包<dependency> <groupId>com.lh.hope</groupId> <artifactId>hope-sdk</artifactId>原创 2020-07-19 01:08:28 · 4323 阅读 · 3 评论 -
Java开发SDK详解->SDK开发
一、前言前面已经将服务端开发好了(服务端开发),现在我们来开发SDK吧。二、详情2.1 创建项目创建一个普通的maven项目 maven----》jdk选择1.8-----》next输入groupId和artifactId输入项目名称,和项目存放位置2.2 开发代码先看看项目的整体结构2.2.1 pom文件依赖的jar包<dependencies> <!--json相关--> <dependency> &l原创 2020-07-19 01:07:41 · 17110 阅读 · 1 评论 -
Java开发SDK详解->服务端开发
前言最近在对接外部接口,对方提供了一个sdk,开发中直接引入到项目中。自己只需要组装参数,直接调用sdk中的方法就可以直接调通对方接口,省去自己很多的开发量。sdk中包含了参数校验,加密验签,Http接口调用,还提供了各个接口入参和出参的实体类。...原创 2020-07-19 01:06:49 · 5497 阅读 · 3 评论 -
优雅的使用PageHelper分页工具类
一、前言平时开发中分页是一个很常见的功能,一般我们会选择一些分页插件,用的较多的是PageHelper,它可以让我们少些很多分页相关的代码。由于平时用的较多,结合自己的业务代码,写了一个工具类供大家参考。二、代码2.1 分页工具类package com.lh.utils;import com.github.pagehelper.Page;import com.github.pagehelper.PageHelper;import com.lh.entity.common.PageMode原创 2020-07-16 00:27:18 · 1450 阅读 · 0 评论 -
Mybatis实现批量新增的工具类
文章目录前言代码实现一、单数据源1.批量新增的工具类(BatchInsertUtil)2.调用演示3.获取SpringBean的工具类(SpringUtil )4.Mybatis的Mapper(CustDetailMapper )5.Mapper的xml文件二、多数据源1.找到对应的SqlSessionFactory2.新增一个批量新增的方法3.调用示例三、总结前言最近接了一个需求要把项目里的批量新增改掉,以前批量新增都是用Mybatis的foreach拼接的,生产环境由于list数据太多导致拼接的s原创 2020-07-13 22:46:17 · 1226 阅读 · 0 评论 -
【Java8新特性】Optional类详解及使用
文章目录一、前言1.1 null的原罪1.2 Optional类诞生二、Optional类介绍2.1 Optional类的方法2.2 方法详解2.2.1 创建Optional对象1)empty2)of3)ofNullable2.2.2 从Optional中获取值1)get2)orElse3)orElseGet4)orElseThrow5) ifPresent2.2.3 其他方法1) isPresent2)map和flatMap3)filter三、使用实例3.1 综合使用一、前言我们在开发过程中,遇到的最原创 2020-07-13 00:00:42 · 927 阅读 · 0 评论 -
SpringBoot+vue+shiro前后端分离开发整合部署详解
一、前言1.综合概述前后端分离项目越来越成为主流,目前应用较多的是前端为vue+elementUI 后端用SpringBoot。一般的管理系统都要有登录和权限管理的功能,这里选用Apache的Shiro做为项目的安全框架。它是一个非常易用的安全框架,提供了包括认证、授权、加密、会话管理等功能,与Spring Security一样属基于权限的安全框架,但是与Spring Security 相比,Shiro使用了比较简单易懂易于使用的授权方式。Shiro属于轻量级框架,相对于Spring Securit原创 2020-07-11 20:09:02 · 3569 阅读 · 1 评论 -
Java多线程实现接口调用
前言有一张客户信息表,数据量很大。需要把这些记录调用某个接口(这个接口一次只能查询10个客户信息),然后把接口返回信息解析保存到另一个表里。客户信息表(cust_info)如下:idcust_idstatusremarkinput_timeupdate_tiem1201911110000012019-11-23 10:45:042019-11-23 10...原创 2019-11-23 19:37:24 · 12085 阅读 · 1 评论 -
SpringBoot+mysql+mybatis+druid+pagehelper 多数据源整合
前言本文实现的是springboot、mybatis、druid、pagehelper 、mysql的多数据源整合。实现多数据源和分页。springboot :2.2.1.RELEASEmaven依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding...原创 2019-11-12 18:31:58 · 467 阅读 · 0 评论 -
【Java】Java8 stream实现Collector接口来自定义收集器
自从学习了Java 8函数是编程后,彻底的被Java 8所以吸引。其中最重要的一个优点就是Stream API 。stream和lambda表达式让我们平时对集合的操作更加的便捷,省去复杂的for循环嵌套,和繁琐的容器创建,让代码更加美观。在stream api 的终止操作中,Java已经为我们提供了许多方便好用的收集器,使我们能够从流中收集到我们想要的结果。但是有的时候内置的收集器也可能不能满足大家的需求,这个时候我们就可以利用Java预留的接口来定制自己的收集器了。原创 2019-10-31 00:19:48 · 1275 阅读 · 2 评论 -
【Java】自定义注解详解及使用案例
自定义注解使用 场景一:方法入参校验 场景二:对Controller层的接口入参进行一些合法性校验 场景三:强大的自定义注解加Aop原创 2019-10-24 00:31:16 · 644 阅读 · 0 评论 -
【Java】Java中用redis生成每天从0开始的业务ID
场景业务场景是生成一个唯一主键,主键格式为 字母前缀 + 年月日 + 自增数字(位数固定每天从0开始)示例:TEST2020042900000015思路Redis Incr 命令将 key 中储存的数字值增一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。利用redis的Incr方法实现自增的序列,由于每天都要从0开始,因此每天生成一个k...原创 2020-04-29 20:33:38 · 2187 阅读 · 4 评论