自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hunt_er的博客

书犹药也,善读之可以医愚。

  • 博客(122)
  • 资源 (3)
  • 收藏
  • 关注

原创 vue生命周期详解

在学习vue时,了解vue实例的生命周期是非常必要的,这有助于我们解决许多问题,下图对vue的生命周期进行了比较的详细解释。

2021-02-23 10:40:34 123

原创 vue-router重写addRoutes,优雅的解决修改vue路由不更新的问题

最近在写项目,实现动态菜单及细粒化按钮权限功能,依托于vue-router动态路由的实现,可以实时从后端获取路由权限,并及时更新。动态路由的实现可以看这篇完整文章:vue实现动态路由。问题:在使用addRoutes方法更新路由表的时候,发现从后端带来的权限信息并没有更新掉原有的路由信息。思路:查看vue-router文档,发现addRoutes已经不被推荐使用了,后来使用新的addRoute方法来逐个更新路由,发现并不能解决问题。api也没有提供remove路由的操作。嗯~ 开始面向

2022-03-03 14:34:40 3089 1

原创 使用yml工具类获取yml属性

最近在写一个工具类,在测试时发现main内无法使用自动注入获取配置文件yml属性值。于是查阅相关资料,手写了yml工具类,用于在无法使用spring自动注入时手动获取yml属性。相关代码如下:import com.google.common.collect.Maps;import org.yaml.snakeyaml.Yaml;import java.io.FileInputStream;import java.net.URL;import java.util.Iterator;imp

2022-02-28 10:13:41 8097

原创 优雅的配置(升级)swagger3

Swagger目前最新版本是3.0.0,在Spring Boot应用中集成Swagger3比老的Swagger2简单的多。以下讲解 适用于swagger2升级swagger3,及新版本直接采用swagger3的项目~。作者现有的项目采用的是swagger2,升级swagger3的时候顺便学习了下。swagger3配置项1.依赖项3的依赖相比2略有不同,不过都是springfox家的<dependency> <groupId>io.springfox&

2022-02-17 14:49:21 8352 3

原创 解决centos7执行java --version git --version等命令时都要重新source /etc/profile后才能执行,否则找不到命令的问题

最近在centos7安装jdk时发,在/etc/profile配置完jdk,每次重开命令行,或者换登录用户时每次都要source 才能生效。很头疼的问题。多方百度查询终于找到解决方法。前提:如果嫌麻烦直接安装rpm版本的jdk,直接解决问题!问题描述:因为作者安装的是tar.gz版本jdk,所以需要配置环境变量,直接编辑/etc/profile,然后source /etc/profile。这是当前的命令行是可以使用java命令的,但是重开一个终端或者换登录用户后就需要重新source /..

2022-02-13 13:23:02 529

原创 webstorm tailwind 不智能提示的解决方法

近期项目中采用了tailwind,但是由于开发习惯使用webstorm,使用tailwind是没有智能提示,看到别人使用vscode时有tailwind的智能提示,用起来非常爽,无奈,试用了一段vscode,智能提示确实很爽,但是还是习惯用webstorm,又转了回来。终于,webstorm发布了2021.3版本,新添加了tailwind的支持。重要提示:想要在webstorm中获得比较好的tailwind支持,需要将webstorm升级到2021.3之后的版本,我现在使用的是2021.3.1版

2022-01-06 11:58:00 7543 2

原创 SpringBoot优雅的调用工具类并在工具类中获取自动注入的bean或属性

通常,我们在写工具类时,会将其所属方法,属性规定为 static 类型的,方便调用,如下:// 调用FileUtil.getFiles();public class FileUtil { private static String FILE_PATH = "D:\\files"; public static String getFiles() { return FILE_PATH; }}通过FileUtil.getFiles(); 可以直接.

2021-12-20 11:57:29 6077

原创 HttpClient如何自定义重试方法

问题:在写项目的时候,使用到 org.apache.commons.httpclient.HttpClient ,进行http请求,发现有时一些链接无法正常连接,这时候就会自动重连3次,导致一个http连接的时间过长。解决方法:设置连接超时时间、设置自动重连方法,防止http连接时间过长。思路:开始以为是没有设置连接超时导致的,后来发现设置了超时还是会重连,于是查找到GetMethod的setMethodRetryHandler 方法,通过这个方法来设置自己的重连函数,但是发现这个方法...

2021-12-16 11:05:23 551

转载 JavaScript Promise对象详解

Promise的含义Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise是一个对象,从它可以获取异步操作的消息。Promise提供统一的API,各种异步操作都可以用同样的方法进行处理。Promise对象有以下两个特点。 (1)对象的状...

2021-12-02 17:35:17 521

原创 海康web无插件开发实现4*3窗口布局

业务需求,要求实现摄像头窗口4*3的布局,可是海康提供的api只有1x1,2x2,3x3,4x4这样的平方数。本文提供一个解决方法,来实现4*3,3*4等不规则的窗口分割布局,先上图。思路:找到修改布局的函数WebVideoCtrl.I_ChangeWndNum(iType)iType是一个整数,在WebVideoCtrl.js查找该函数,找到如下代码this.I_ChangeWndNum = function (e) { return isNaN(parseInt..

2021-11-09 16:30:13 2092

原创 如何修改elementui的el-popover的样式

项目中使用了el-popover,但是原始白色背景不够美观,想修改一下样式,一直不成功,仔细查看dom发现,popover的dom创建在了最外层,如图显然,它是和根组件app同级的dom,所以在任何<style scoped></style>下写的css均不能生效。如果直接在<style></style>下粗暴修改,势必又会影响到其他组件的样式,显然不能忍受。那么该怎样修改,又不会影响到其他组件的样式呢?先来看一下官方文档怎么说的..

2021-10-28 15:57:19 17447 16

原创 SpringBoot通过MyBatis拦截器打印完整SQL语句(无问号)

在项目开发中常常需要对idea控制台的sql语句,进行复制粘贴操作,而日志的sql语句是和参数分开的,不免需要手动替换sql中的?,当参数很多时非常的麻烦,而且这种行为很无聊!于是Mybatis Log Plugin 很好的解决了这个问题,但是由于本人的idea升级到了20.3版本,新版的Mybatis Log Plugin插件要收费。遂想方法,使用代码实现了这一过程,以上是原始html版本:使用JS解析idea控制台SQL日志——JS版MybatisLogPlugin_hunt_er的博客-CS.

2021-09-03 15:05:48 2685 3

原创 webstorm不能识别@import “~@/assets/css/main“的解决办法

导入的项目npm install后,发现css引用报错,报错内容:Cannot resolve directory '~@'。既然是不能解析目录,猜想不是项目本身的问题,应该是webstorm或者eslint配置问题。鉴于eslint已经配置好,所以应该是webstorm没有配置好,百度了一下,发现网上的文章真是牛头不对马嘴。。。。不过还好,最后让我找到了解决方法!问题:webstorm不能识别项目中导入css文件的目录, @import "~@/assets/css/main"

2021-06-23 18:06:24 6004 1

原创 springboot+vue部署多个前端共用一个后端项目

实际项目中不一定都是一个后端对应一个前端,这时,共用后端就成为可能。本项目采用前后端分离开发,下面说说,如何部署的问题,这里采用整合部署打包成jar的方式,而非nginx部署。首先部署第一个前端项目,即springboot+vue项目整合部署,和普通的项目整合部署相同。1. 前端使用npm run build命令打包好,然后把dist目录下打包好的文件,直接粘贴放在后端项目的src/main/resources/static 下即可。测试可以正常访问。如果这里出现问题,百度一下,如何整合..

2021-05-11 11:10:32 6013 3

原创 使用JS解析idea控制台SQL日志——JS版MybatisLogPlugin

由于idea升级到了20.3版本,新版的Mybatis Log Plugin插件要收费,遂参照网上代码,修改了一下,产生如下js替换版本。效果如下:代码放在html文件里即可。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"/> <title>Mybatis Log Helper</title> <meta na..

2021-03-24 12:02:04 357

原创 el-backtop回到顶部组件使用问题汇总

这是官网的基础语法和教程官方给出的使用只有一行代码,没有过多的解释。而实际使用也确实如此,确实一行代码就可以用了。但是,在使用时往往存在各种各样的问题,笔者在用这个组件时也踩了不少坑,多方测试,发现如下问题(报错问题不在本篇解决范围,按照报错提示解决就好了),汇总如下:注意事项:最常见的问题就是不能显示(没有反应),好像这个组件被隐藏了一样,折腾半天最后连组件长什么样都不知道,,,,这里放一个图,这是组件默认的样子,我放在了dialog里。代码如下:<el

2021-03-05 14:47:04 1744 2

原创 @JsonSerialize和@JsonDeserialize的使用详解

注意:json序列化及反序列化通常用在前后端传值上,作用于get,set方法上,但并不是重写get,set方法,而是类似于补充,追加。

2021-02-02 17:56:45 12980 3

原创 解决封装el-table时出现的循环引用问题

在写项目时遇到一个需求,需要添加一个展开列的功能,用以显示多余的行属性。由于之前已经封装过element的table组件,所以这次就想着直接在封装过的组件上添加该功能。先看一看element官方对于展开列的描述。那就开始做吧,myTable组件中这样写。...

2021-01-29 14:34:03 962

原创 ES2015解构赋值详解文档

解构赋值详解。https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#%E8%A7%A3%E6%9E%84%E5%AF%B9%E8%B1%A1

2021-01-19 15:36:39 121

原创 vue + element-input封装数字框

因业务需要,要求一个数字框,现有的element的input不太符合要求,遂动手封装了一个,封装后仍能调用原<el-input>事件。功能:仅能输入合法整数和小数格式,默认最少保留二位小数,最大保留四位小数,支持负数格式,支持禁用使用:<my-input-number :value.sync="value"/>采用了vue的.sync修饰符,其余功能属性在代码中有详细注释,上代码。<template> <el-input class="g

2021-01-13 18:03:55 875

原创 springboot+vue项目部署到服务器详细(前后端单独部署)

方法一:前后端分开部署一、前端部署1、下载 nginx,官方网址如下:http://nginx.org/en/download.html

2020-12-15 16:02:02 16332 3

转载 vue axios(下载文件流)设置返回值类型responseType:‘blob‘无效的问题

在做vue项目时,要求使用axios异步下载后端传输的文件流,下载之后的文件打开是乱码。F12一看,浏览器拿到的不是Blob类型的,而是一串字符串乱码。操作如下:1.写axios接口import axios from 'axios'export const uploadFileRequest = (url, body, params) => { let token = getTokens() let queryParams = { 'access_token': token.ac

2020-12-10 13:03:15 9958

原创 vue实现动态路由一步到位

最近在写vue项目,需要由后台传来当前用户对应权限的路由表,前端通过调接口拿到后处理(后端处理路由),就是配置vue动态路由啦。由于错信了一些网上的文章:(,导致在这个问题上耗费了不少时间,想想,还是自己写一篇文章来记录一下那些遇到的坑吧。接下来手把手记录一下,如何从零开始配置vue动态路由。首先呢,先看看静态路由的配置,简单预览一下,熟悉的可以直接跳过,说这部分,是为了熟悉一下路由的配置。静态路由的回顾1.创建router/index.js文件import Vue from 'v

2020-12-04 18:13:52 45036 39

转载 聊聊ajax中contentType

前言contentType属性,想必大家在日常开发中经常用到,但是大家可能对于contentType了解的不是很透彻,这里来和大家一起总结下。contentType是干嘛滴contentType 主要设置你发送给服务器的格式,服务端根据前端设置的contentType 来解析前端的数据。关于http请求中的一些小知识点可以大致总结如下(巩固基础)(1)、HTTP 协议是以ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消..

2020-11-26 10:44:28 786

原创 Vue中的this.$options.data()的this指向问题

项目里遇到一个问题,用this.$options.data()重置组件data时报错,原因是因为form里的rule规则采用了this写法。如下:rules: { code: [this.$rules.required()], name: [this.$rules.required()], age: [ {min: 1, max: 120, type: 'number', message: '年龄 1 到 120 之间', tri

2020-11-25 11:02:48 6111

原创 vue组件props属性监听不到值变化

在写项目时遇到一个问题,父组件传到子组件的prop,在子组件监听不到变化,遂查看vue文档,得知watch有一种深度监听的方法。从vue文档搬运。=》var vm = new Vue({ data: { a: 1, b: 2, c: 3, d: 4, e: { f: { g: 5 } } }, watch: { a: function (val, oldVal) { cons

2020-11-24 15:46:32 5122

原创 解决vue修改数据绑定的视图不能动态更新的问题

在写项目的时候遇见一个问题,修改vue v-bind或v-model绑定的数据时,视图不能更新这就感觉很无语了。。。。当时在写一个弹窗,弹窗的数据更新后不能更新视图,需要重新刷新才行。这样的问题简直不能忍受。。。。 多方查找,才发现 vue文档里有这样一句话。Vue 无法检测 property 的添加或移除。由于 Vue 会在初始化实例时对 property 执行 getter/setter 转化,所以 property 必须在data对象上存在才能让 Vue 将它转换为响应式的。这句话..

2020-11-23 14:51:26 2408 4

原创 浏览器控制台查看修改vue项目(vue-cli)数据

在写vue项目时想到一个问题,项目里面的文件都是一个个的组件,如何在控制台中修改,查看组件data里的值呢?我们知道,用传统的html形式引用vue可以通过给最外层的vue实例命名var myapp=new Vue({el:'#app',data:{ a:1}})然后在控制台输入myapp.a=2改变里面data的值,这样在浏览器控制台调试很方便那么现在采用vue-cli构建项目时,里面的文件都是一个个的组件,如何在控制台中修改,查看组件data里的值呢?方法是在creat

2020-11-23 14:20:06 8770 1

原创 SpringBoot使用@RequestBody接收多个对象的解决办法

最近在写一个项目,使用了springboot+vue+axios。其中axiox请求Content-Type 为默认的application/json,结果在接收参数时遇到麻烦,后台使用@RequestBody接收参数时无法接收多个对象!而且一个方法只能写一个@RequestBody注解,难道说,传过来的许多的参数只能用一个对象接收?这就很难受啊。面向百度编程——才知道:SpringMVC中@RequestBody是读取的流的方式, 在取 body参数时第一个参数取到后把request.get.

2020-11-13 17:37:03 25155 7

原创 type=‘hidden‘和style=“display:none“区别

项目开发时遇到一个小问题,重置表单时有个input框值不会清空,很奇怪,之前写的都可以呀,于是,仔细查看发现,在隐藏input框时选择了不同的写法导致出问题。首先,<input name="id" style="display:none;"/>和<input name="id" type="hidden">都有隐藏的功能。style是通过样式来设置的。type是针对特定组件的。一般input框隐藏,常用于传值,这两种方式都可以做到!但是,第二种写法使用

2020-10-23 16:39:01 1597

原创 vue学习笔记——摘录于vue文档

声明:该篇文章是作者学习vue文档时,所记录的,内容大部分来源于vue文档,作为查看复习时提高效率所用,详情请看vue完整文档:vue官方文档安装和使用直接下载并用<script>标签引入,Vue会被注册为一个全局变量。注:在开发环境下不要使用压缩版本,不然你就失去了所有常见错误相关的警告!CDN:对于制作原型或学习,你可以这样使用最新版本:<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js...

2020-10-21 17:26:31 507 3

原创 1152 空运物资(母函数)(第七届河南省程序设计大赛)

题目:问题 : 空运物资时间限制: 1 Sec内存限制: 128 MB题目描述在灾区,多数人已经受伤,缺水,少食物,精神处在崩溃的边缘。很多人的生存条件仅能维持几天。灾民需要帐篷、衣物、食品和医疗器材、药品等物资。14日上午,中央军委委员、空军司令员许其亮组织召开空军首长办公会,将空军下一步救灾重点确定为抢救伤员、空投、空运。空军各部队都派出多架运输机,准备向灾区空运急需物品。...

2020-10-19 14:51:56 184

原创 觉得js(JavaScript)烂的小朋友,请在浏览器控制台打印执行以下代码

(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]

2020-10-09 16:45:42 173

原创 centos6.5 搭建web服务器

搭建一个web服务器使用的比较多的是LAMP(LAMP是 Linux + Apache + MySQL + PHP 的环境要求,即web服务器。),因为本人没学过php,所以并没有使用这个,采用的是LNMT是 Linux + Nginx + MySQL + Tomcat 的环境。linux系统采用的是centos6.5JDK首先装的是jdk,这里参考博客:https://ww...

2020-09-28 10:38:15 1119

原创 ssm整合redis

这两天经过网上各种搜索,终于成功的写出了一个关于redis缓存的demo。第一步,准备所需的jar包;jar包版本不匹配会出现各种各样的错误,经过多次尝试,最终成功运行的jar包版本:jedis-2.4.2.jar,commons-pool2-2.4.2.jar,spring-data-redis-1.3.4.RELEASE.jar,spring-data-commons-1.8.0.RELEASE.jar,spring用的是4.1.6.RELEASE版本,错误:org.spring

2020-09-28 10:37:26 199

原创 解决layui点击按钮后,按回车再次触发的问题

在测试项目bug时发现如题所诉bug,好家伙,点击新建按钮后在狂按回车,直接给我弹出一堆窗口,屏幕都给整黑了。。。经过一番查阅文档及调试,找到如下解决方法:方法一:在layer.open方法中的success回调中添加:$(':focus').blur();。layer.open({ type: 2 , content: 'xxx' , title: '新建' ,

2020-09-23 16:20:24 1694

原创 js复制数组的问题(浅复制和深复制)

首先说两个概念:浅度克隆:原始类型为值传递,对象类型仍为引用传递。深度克隆:所有元素或属性均完全复制,与原对象完全脱离,也就是说所有对于新对象的修改都不会反映到原对象中。这里又引出两个概念,值传递,引用传递。这里可以参考Java的基本类型和对象类型的使用,Java基本类型复制时可直接复制,副本变量的改变并不会改变被复制的变量,这时复制的是值,而对象简单的复制时,修改副本变量会影响到被复制的变量,这时复制的是对象的引用,js和Java也类似,值传递,引用传递也是如此。先看代码:1.引用传递

2020-09-22 17:29:43 404

原创 xm-select getValue()获取不到值的解决方法

在使用layui 第三方控件xm-select时发现,getValue()始终获取不到值,在这之前是先调用了setValue()方法的,但是在后续代码中使用getValue()又可以获取到值了!还真是奇怪!具体问题如下:在调用setValue()方法后不能使用getValue()获取到数据console.log(xmSelectOption.realm.instance.setValue(data)); //这里因需要先设置了一个值console.log(xmSelectOp...

2020-09-05 14:42:19 5748 2

原创 js如何调用iframe页面里的方法

在写页面时常常需要弹出iframe页面,而iframe页面的内容是另一个页面,比如,弹出iframe的里面是一个表单(另一个页面),这样在父页面怎样调用子页面的方法呢?经过一番摸索,发现采用如下js即可成功调用//用widow属性获取iframe的dom对象的name,得到窗口对象var iframeWin = window[$(iframe)[0]['name']];iframeWin.check(); //check()即子页面的方法,和子页面调用规则一样总结就是两条,1.

2020-08-29 11:59:29 8538

原创 如何在js中调用layui.use()内部的方法

使用layui时,可能会出现一个问题,就是在layui.use()内部的方法依赖于layui的模块,但是当外部js调用layui.use()内部的方法时,会出现无法调用的情况,如何在外部js中调用layui.use()里的方法呢。思想:layui.use()本质是一个layui的function方法,这样写在其内部的function就是其内部的方法,外部自然无法调用,那么问题本质是:如何使用在function内部的function方法呢,这种问题自然就好解决的多!透过事物的现象看本质,emm,哲学道理!

2020-08-29 11:59:04 12079 5

jlayer-1.0.1.jar

jlayer-1.0.1.jar 使用java编写MP3播放器,用到的解析Mp3格式包。jl1.0.1.jar 内含使用说明

2021-07-14

git-cheat-sheet.pdf

git命令备忘录

2021-03-08

扫雷(java实现)

解压到文件夹即可运行,压缩包包含jre文件,可以在无java环境下运行,配置过java环境的可以删除jre文件,

2018-08-07

空空如也

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

TA关注的人

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