java
秋名山车神不开车
这个作者很懒,什么都没留下…
展开
-
接口幂等性解决方法
6.服务器如果短时间内重复提交这个接口,因为两次请求token是一样的,所以第二次请求的时候,服务器校验token时,redis中已经没有了刚刚被第一次删掉的token,就表示是重复操作,所以第二次请求会校验失败,不作处理,这样就保证了业务代码,不被重复执行。新增的时候添加版本号,更新的时候带着版本号去更新,版本号一致才更新处理。5.如果存在就删除key,正常执行逻辑,如果不存在就抛异常,返回重复提交的错误提示。通过控制锁的粒度来提高程序执行的性能,只锁当前的用户,相当于只锁自己。原创 2023-02-24 16:52:02 · 718 阅读 · 1 评论 -
springBoot+shiro+jwt+redis 用户权限管理
1.相关依赖包 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>${shiro.spring.version}</version> </dependency>原创 2020-12-06 14:39:56 · 4012 阅读 · 0 评论 -
springboot+mybatisplus使用注解多数据源整合
1.主要依赖包<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.2</version></dependency><dependency> <groupId>com.baomidou<原创 2020-12-06 09:46:10 · 611 阅读 · 0 评论 -
java 递归树结构,采用反射动态id,父类id,children
@Servicepublic class BaseTreeService { /** * 集合转树结构 * * @param allList 目标集合 * @param id 节点编号字段名称 * @param parent 父节点编号字段名称 * @param children 子节点集合属性名称 ...原创 2020-02-26 15:23:02 · 1009 阅读 · 0 评论 -
java 树形结构通用封装类
/** * 基础树形结构数据服务类 */@Servicepublic class BaseTreeService { /** * 获取树结构数据 * @return */ public <T extends BaseTreeAO> ServiceResult<List<T>> listTreeNodes(...原创 2020-02-25 10:39:47 · 1113 阅读 · 0 评论 -
服务器 sh脚本启动java程序
1 .run.sh 文件内容,如下,加粗地方需要替换成自己的项目路径#!/bin/sh#Java的安装目录JAVA_HOME=/usr/java/jdk1.8.0_211-amd64#运行程序所使用的用户OWNER=root#Java程序的目录APP_HOME=/home/lfserver#Main方法的类APP_JAR=app/app-opensite-provider....原创 2019-11-19 16:59:47 · 586 阅读 · 0 评论 -
spring-security-oauth2 修改默认token失效时间
1.先自定义 TokenServices方法/** * <p>注意,自定义TokenServices的时候,需要设置@Primary,否则报错,</p> * * @return */ @Primary @Bean public DefaultTokenServices defaultTokenServi...原创 2019-10-28 09:37:59 · 11450 阅读 · 8 评论 -
java后端集成融云,获取融云token,RestTemplate
private static final String APP_KEY = "";private static final String APP_SECRET = "";private static final String RONGYUN_URL = "http://api-cn.ronghub.com/user/getToken.json";@Autowiredprivate ...原创 2019-10-21 14:53:01 · 576 阅读 · 2 评论 -
微信分享,终结版,及报错config:fail,Error: invalid signature"错误解决
/** * 获取access_token */public static final String WX_SHARE_TOKEN = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";/** * TICKET */p...原创 2019-10-17 15:49:24 · 1574 阅读 · 1 评论 -
BigDecimal 金额转换成万和亿,并且去掉小数点后面的0
public static String formatAmountPhp(BigDecimal amount) { if (amount == null) { return null; } if (amount.compareTo(new BigDecimal(100000)) < 0) { //如果小于10万 re...原创 2019-09-26 11:37:27 · 2122 阅读 · 0 评论 -
阿里云oss 图片上传工具类
package com.opencloud.common.utils;import com.aliyun.oss.ClientException;import com.aliyun.oss.HttpMethod;import com.aliyun.oss.OSSClient;import com.aliyun.oss.OSSException;import com.aliyun.os...原创 2019-06-27 09:55:38 · 1776 阅读 · 0 评论 -
日期计算工具类
package com.jp.tech.artisan_cms.common.util;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.*;@SuppressWarnings("ALL")public class DateUtil { public sta...原创 2018-08-18 18:14:22 · 408 阅读 · 0 评论 -
java枚举
package com.jp.tech.applet.common.constant;/** * @author linfan.sun * @date 2018/6/22 002216:36 */public enum IngredientsRisksEnum { POX("1", "致痘"), CARCINOGENOUS("2", "致癌"); ...原创 2018-06-22 16:51:52 · 134 阅读 · 0 评论 -
java8的stream List去重
代码实现List<JpProductExt> jpProductExtList = jpProductMapperExt.getProductListByIName(jpIngredients.getIngredientsName());List<Integer> ids = new ArrayList<>();List<JpPr...原创 2018-06-09 15:52:13 · 1016 阅读 · 0 评论 -
linux下利用nohup后台运行jar文件包程序
Linux 运行jar包命令如下首先进入启动包[plain]view plaincopynohup java -jar xxx &查看情况[plain]view plaincopyps -ef|grep java停止jar[plain]view plaincopykill -9 xxxxx...原创 2018-06-07 14:18:05 · 2976 阅读 · 0 评论 -
Hashtable、HashMap、ConcurrentHashMap区别
Hashtable ,和HashMap 都是数组+链表实现Hashtable 初始值为11 key和value 不能为null 并且是线程安全的,它的方法是同步的,可以直接用在多线程环境中。HashMap初始值为16 ,key和value 可以为null,线程不安全,在多线程环境中,需要手动实现同步机制。ConcurrentHashMap 底层采用分段的数据+链表实现,线程安全,通过...原创 2019-03-11 17:48:10 · 142 阅读 · 0 评论 -
mysql logback 日志写入数据配置(无bug版本)
<!-- 将日志写入数据库 --><appender name="db" class="ch.qos.logback.classic.db.DBAppender"> <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource"> <...原创 2019-05-20 12:11:29 · 354 阅读 · 0 评论 -
java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more tha
java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone config...原创 2019-06-13 10:44:02 · 600 阅读 · 0 评论 -
java中double类型如果小数点后为零则显示整数否则保留两位小数
public static String formatDouble(double d) { BigDecimal bg = new BigDecimal(d).setScale(2, RoundingMode.UP); double num = bg.doubleValue(); if (Math.round(num) - num == 0) { ret...原创 2018-07-31 18:02:49 · 18279 阅读 · 1 评论