- 博客(43)
- 资源 (3)
- 收藏
- 关注
转载 Spring Boot 优雅的实现重处理功能
在实际工作中,重处理是一个非常常见的场景,比如: 发送消息失败。 调用远程服务失败。 争抢锁失败。 这些错误可能是因为网络波动造成的,等待过后重处理就能成功。通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。然而spring-retry却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现重处理功能。@Retryable是什么?spring系列的spring-retry是另一个实用程序
2022-04-22 23:00:01 284
原创 RabbitMQ之延迟功能两种实现方式
方式一延迟队列(死信队列)模拟订单创建完,如果30分钟后还没有支付,则取消订单。要实现的办法很多, 使用RabbitMQ延迟队列是其中一个办法!使用死信队列大致思路:订单MQ配置类/** * 订单业务配置 * 死信队列使用的 orderTTLExchange,orderTTLQueue,orderTTLKey * 正常队列使用的 orderExchange,orderQueue,orderKey * 在orderTTLQueue中设置,当消息设置的时间到了,消失了,那么我就去调用ord
2022-03-09 18:04:22 2264
转载 RabbitMQ基础
在介绍RabbitMQ之前,我们先来看下面一个电商项目的场景: 商品的原始数据保存在数据库中,增删改查都在数据库中完成。 搜索服务数据来源是索引库(Elasticsearch),如果数据库商品发生变化,索引库数据不能及时更新。 商品详情做了页面静态化处理,静态页面数据也不会随着数据库商品更新而变化。 如果我们在后台修改了商品的价格,搜索页面和商品详情页显示的依然是旧的价格,这样显然不对。该如何解决?我们可能会想到这么做: 方案1:每当后台对商品做增删改操作,同时修改.
2022-03-04 17:27:19 430
原创 索引失效的原因
索引失效的原因:没有查询条件,或者查询条件没有建立索引在查询条件上没有使用引导列查询的数量是大表的大部分,应该是30%以上。索引本身失效查询条件使用函数在索引列上(见12)对小表查询提示不使用索引统计数据不真实CBO计算走索引花费过大的情况。其实也包含了上面的情况,这里指的是表占有的block要比索引小。10)隐式转换导致索引失效.这一点应当引起重视.也是开发中经常会犯的错误. 由于表的字段tu_mdn定义为varchar2(20),但在查询时把
2022-01-19 09:56:52 234 1
原创 JS实现类似打字的特效,JS实现打字效果
JS实现类似打字的特效,JS实现打字效果效果图如下:代码如下:<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>js实现打字特效</title> <!-- 移动设备 --> <meta name="viewport" content="width=device-width, initial-scale=1, s
2022-01-02 22:33:34 1460
转载 mysql只更改字段年月日时间,时分秒不变
mysql只更改字段年月日时间,时分秒不变数据库导入数据,年月日出现问题了,如图所示,只能通过sql更改年月日。想修改一列时间,将其年月日修改为自己想要的时间执行如下sql:UPDATE yield set dataTime = ADDTIME(DATE('2020-06-24') + interval 0 hour,time(dataTime))UPDATE 表名 set 字段名= ADDTIME(DATE(‘修改的年月日’) + interval 0 hour,time(字段名))eg:
2022-01-02 22:21:19 2336
原创 雪花js特效
雪花js特效先引入jquery,然后放上js代码就行了<!DOCTYPE html><html> <head> <meta charset="utf-8"> <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script> <script type="text/javascript">
2021-12-18 21:39:51 148
转载 解决图片防盗链导致图片显示不出来
图片的防盗链问题很简单,就是希望在自己的页面里用 <img src=”xxxx” /> 来引用其他网站的一张图片,但是他的网站设置了防盗链的策略,会在后台判断请求的Referrer属性是不是来自于一个非本域名的网站,如果来源不是本域名就返回 403 forbidden。我的目的就是用最方便的方法使得我的页面能够不受他的防盗链策略的影响。解决的方案1.使用后台的预下载(把图片下载下来放到服务器下)缺点: 占用服务器的空间,访问速度没有豆瓣提供的稳点。有些网站是静态的如 hexo 就无法实现
2021-12-15 10:02:02 2304
转载 java实现缩略图(Thumbnailator库)
java实现缩略图1. Thumbnailator是一个用java生成高质量缩略图的第三方库,可以用来1.生成缩率图;2.添加水印;3.图片旋转;4.图片大小缩放;5.图片压缩;2.Thumbnailator的github地址https://github.com/coobird/thumbnailator3. 帮助文档https://github.com/coobird/thumbnailator/wiki/Examples4.thumbnailator库只有一个jar,不依赖第三
2021-12-12 15:50:30 3842 1
转载 通过js实现button按钮间隔一分钟可点击
js限制按钮每隔一段时间才能再次点击设置属性 disabled 可以限制交互,单击按钮时添加disabled=“disabled”属性,再为按钮添加定时器,一定时间后删除定时器和disabled属性。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, init
2021-12-11 20:04:37 2540
转载 使用oh-my-email发送邮件
项目使用oh-my-email发送邮件本文使用Github开源项目oh-my-email进行测试邮件发送,并未进行更为深度的测试,如果想要快速使用,的确是一个很好的邮件发送组件。github地址如下https://github.com/biezhi/oh-my-email1.oh-my-email仓库地址<dependency> <groupId>io.github.biezhi</groupId> <artifactId>oh-my
2021-12-11 17:46:31 949
转载 linux下openoffice安装和启动(实现office文件在线预览)
office文件在线预览1.下载openoffice的安装包(注意选择合适的安装包):http://www.openoffice.org/download/archive.html一、安装openOffice1.使用tar -xzvf xxxx.tar.gz解压缩后,会得到对应的解压文件 /zh-CN目录。2.进入/zh-CN//RPMS/目录3.执行 rpm –ivh *rpm(安装所有rpm文件)4.进入到desktop-integration目录 cd desktop-integrat
2021-11-12 16:44:29 3750
原创 java工具类2
java工具类21.SpringUtil工具类package com.utils;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component;@Componentpublic class SpringUtil implements A
2021-11-03 09:40:25 138
转载 电脑安装两个版本的mysql及修改mysql密码报错解决
https://blog.csdn.net/qq_40602785/article/details/105073920关于mysql修改密码 set password for root@localhost = password(‘xxx’);报错解决方法https://www.cnblogs.com/jing-tian/p/12231780.html
2021-10-25 09:39:13 589
原创 用JavaScript获取页面上被选中的文字的技巧
这里介绍的一个小技巧是如何用JavaScript获取页面上被选中的文字的方法。最关键的JavaScript API是:event.selection = window.getSelection();这里的selection实际上是个对象,但如果我们使用 .toString()或强行转化成字符串,我们将得到被选中的文字。$(document).ready(function () { $(".contenttext").mouseup(function (e) { var txt;
2021-10-20 17:17:48 1923
原创 json和Bean对象互转工具类
json和Bean对象互转工具类package com.common.utils;import com.alibaba.druid.util.StringUtils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import java.util.HashMap;import java.util.Map;public class JSONUtils { /** * Bean对象转JSON
2021-10-14 11:59:07 403
原创 css竖向分割线
<div class="line" style="display:inline-block;background:whitesmoke; width:15px;height:480px;position:relative;left:45%;float:left;"></div>
2021-07-22 20:17:55 2819
原创 RedisConfig通用配置(解决存储乱码)
6.Springboot中RedisConfig通用配置https://www.cnblogs.com/47Gamer/p/14331174.html6.StringBoot 整合Redis解决存储乱码(通过StringRedisSerializer来进行序列化)https://blog.csdn.net/sinat_35821285/article/details/82828721
2021-07-20 13:28:52 303
原创 js文件在谷歌浏览器上显示乱码问题
js文件在谷歌浏览器上显示乱码问题右键另存为,先将js文件下载下来,然后用记事本打开再次保存时设置下编码utf-8就可以了。
2021-07-10 22:38:24 1672
转载 Java线程池各个参数介绍
Java线程池各个参数介绍一、corePoolSize二、maximunPoolSize三、keepAliveTime四、unit五、workQueue六、threadFactory七、handlerJDK1.8线程池参数源代码: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, lon
2021-06-29 22:13:35 307
原创 生成随机验证码工具类(验证码存储到cookie中)
生成随机验证码工具类(验证码存储到cookie中)1.生成验证码的工具类package com.utils;import javax.imageio.ImageIO;import java.awt.*;import java.awt.geom.AffineTransform;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileOutputStream;import java.io.IOExce
2021-06-26 00:34:59 642
原创 Idea导入本地Jar包操作
Idea maven项目中导入本地Jar包0.注意:先在本地maven仓库下创建好文件夹。1.cmd命令行进入到maven安装目录下。2.用命令打包:mvn install:install-file -Dfile=**.jar -DgroupId=mvntest -DartifactId=test -Dversion=3.3.1 -Dpackaging=jareg:mvn install:install-file -Dfile=D:\maven-jar\cn\best\secret-1.0.ja
2021-06-23 21:53:35 462 1
原创 linux查看日志文件等一些操作
linux查看日志文件一.查看日志:查看日志常用命令tail:-n 是显示行号;相当于nl命令;例子如下:tail -100f test.log 实时监控100行日志tail -n 10 test.log 查询日志尾部最后10行的日志;tail -n +10 test.log 查询10行之后的所有日志;head:跟tail是相反的,tail是看后多少行日志;例子如下:head -n 10 test.log 查询日志文件中的头10行日志;head -n
2021-06-23 21:45:00 221
转载 Springboot处理cors跨域请求
Springboot处理cors跨域请求注意:(Springboot跨域问题)1.跨域只存在于浏览器端,不存在于安卓/ios/Node.js/python/ java等其它环境2.跨域请求能发出去,服务端能收到请求并正常返回结果,只是结果被浏览器拦截了。3.之所以会跨域,是因为受到了同源策略的限制,同源策略要求源相同才能正常进行通信,即协议、域名、端口号都完全一致。一、什么是CORS?CORS是一个W3C标准,全称是”跨域资源共享”(Cross-origin resource sharing),
2021-06-22 23:32:55 124
原创 各种utils工具类1
Utils工具类1.BeanCopyUtilpackage com.blog.utils;import java.util.ArrayList;import java.util.List;/** * 复制对象或集合属性 */public class BeanCopyUtil { /** * 根据现有对象的属性创建目标对象,并赋值 * * @param source * @param target * @param <T>
2021-06-22 19:33:38 362
原创 mysql新增,更新,批量插入操作
mysql新增和更新操作一、Insert的几种语法例子:CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(30) DEFAULT NULL, `money` double DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `username_index` (`username`)) ENGINE=InnoDB AUTO_INCREM
2021-06-22 12:12:49 8004
原创 http.js(基于axios)--请求工具类
请求工具类新建http.js文件,内容如下:import axios from 'axios';//携带证书axios.defaults.withCredentials = true;//设置超时时间axios.defaults.timeout = 100000;axios.defaults.headers.post['Content-Type'] = 'application/x-www=from-urlencoded'export default { //get请求
2020-11-12 12:08:13 1260
原创 博客系统管理中心(1)-前端项目创建
前端项目创建:(1)安装脚手架(已经安装则cmd窗口输入vue -V,能够查看版本即可)npm install -g @vue/cli(2)创建项目(博客系统管理中心)新建文件夹-E:\IDEAProjects\blogAdminDemo,拖拽到vscode.(3)进入文件夹E:\IDEAProjects\blogAdminDemo在执行命令:npm run dev(报错的话在该文件夹执行 npm install ,再执行 npm run dev)(4)引入elementui(1)推
2020-11-05 00:09:47 194
原创 vue前端跨域
vue前端跨域(记录一下)修改config文件夹的index.js为了让后端能够访问到前端的资源,需要配置跨域支持。在config\index.js 中,找到 proxyTable 位置,修改为以下内容: proxyTable: { '/api': { target: 'http://localhost:8443', changeOrigin: true, pathRewrite: { '^/api': ''
2020-11-02 12:00:22 189
原创 IdWorker---分布式ID工具类
IdWorker—分布式ID工具类import java.lang.management.ManagementFactory;import java.net.InetAddress;import java.net.NetworkInterface;/** * <p>名称:IdWorker.java</p> * <p>描述:分布式自增长ID</p> * <pre> * Twitter的 Snowflake JAVA实现方案
2020-10-19 12:06:26 1207
原创 wex5一次尴尬的操作:报错Converting circular structure to JSON
废话不多说,上图:报错信息如下:以为是wex5的深拷贝和引入的插件handsontable的深拷贝方法冲突了,但是仔细看了js之后,发现是自己写了两个相同的方法,忘记注释了。导致深拷贝的时候造成死循环。。。尴尬...
2020-09-10 12:13:06 191
原创 wex5引入handsontable插件问题
wex5引入handsontable插件1.问题如下应该是handsontable插件不是amd规范的js,所有引入总是出问题。new Handsontable(…,…)的时候总是报错,但是插件也引入了。如图:2.解决:通过在w文件源码页面加入<script src="$UI/gxzl/lib/handsontable/dist/handsontable.full.js"></script>即可正常引入并使用。3.新问题:handsontable.js内部代码
2020-09-09 12:02:52 301
原创 jquery验证插件使用
jquery验证插件使用1.插件引入链接:https://pan.baidu.com/s/1GOF5vyBnBbsRTXrXEILVgA提取码:63cb<script src="/libs/validate/jquery.validate.min.js" th:src="@{/libs/validate/jquery.validate.min.js}"></script><script src="/libs/validate/messages_zh.m
2020-09-07 09:36:05 259
原创 生成随机验证码工具类
1.生成验证码的工具类public class ValidateCodeUtil{ /**放到session中的key*/ public static final String RANDOMCODEKEY= "RANDOMVALIDATECODEKEY"; /**随机产生只有数字的字符串 private String*/ //private String randString = "0123456789"; /**随机产生只有字母的字符串*/ //priva
2020-09-04 10:30:40 361
转载 $(function() {})的执行时间
1. 什么时候执行?$(function() {}),即 $(document).ready(function(),什么时候执行?$(function() { //执行操作});$(function() {})是$(document).ready(function()的简写, 这个函数什么时候执行的呢?答案:DOM 加载完毕之后执行。2. 分析DOM 是什么?DOM 就是一个 html 页面的标签树:那么什么时候,DOM 加载完成了呢?即页面所有的 html 标签(包括图片等)都加载完
2020-09-04 10:08:05 667
转载 springboot配置虚拟路径
springboot如何配置虚拟路径springboot 1.x配置springboot 2.x配置springboot 1.x配置创建配置类如下:@Configurationpublic class MyWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) {
2020-08-27 16:15:45 746
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人