自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

脉脉情缘的博客

IT技术博客

  • 博客(43)
  • 收藏
  • 关注

原创 MyBatis-Plus添加mapper层选装件,扩展BaseMapper实现批量插入等功能

1、在自定义注入器MySqlInjector上添加选装件方法public class MySqlInjector extends DefaultSqlInjector { @Override public List<AbstractMethod> getMethodList(Class<?> mapperClass) { List<AbstractMethod> methodList = super.getMethodList(mapperClass); m

2021-03-04 14:41:52 1901 6

转载 Mac中使用brew工具的常用命令

安装包brew install [包名]卸载包brew uninstall [包名]查询可更新的包brew outdated更新包brew upgrade(更新所有)brew upgrade [包名]清理所有包的旧版本brew cleanup清理指定包的旧版本brew cleanup [包名]查看可清理的旧版本包,不执行实际操作brew cleanup -n锁定某个包brew pin [包名]取消锁定brew unpin [包名]查看帮助brew h

2021-03-02 21:00:17 1031

原创 spring.rabbitmq.publisher-confirm属性配置过时处理

spring.rabbitmq.publisher-confirm在springboot2.2.0.RELEASE版本之前是amqp正式支持的属性,用来配置消息发送到交换器之后是否触发回调方法,在2.2.0及之后使用spring.rabbitmq.publisher-confirm-type属性配置代替,用来配置更多的确认类型

2021-02-21 12:35:54 2056

转载 CentOS部署Redis教程

本教程以CentOS6为例说明安装部署过程1.安装下载安装包官网下载建议上传到我们的home下解压 tar -xvf redis-4.0.9.tar.gz编译安装 mv redis-4.0.9 redis cd redis make && make install2.配置修改安装目录下的redis.conf文件vim redis.conf修改以下配置:#bind 127.0.0.1 # 将这行代码注释,监听所有的ip地址,外网可以访问pr

2021-02-21 12:33:35 229

原创 CentOS部署RabbitMQ教程

本教程以CentOS6为例说明:1、安装Erlang下载Zero-dependency Erlang from RabbitMQ 下载地址执行命令:rpm -ivh erlang-23.1.4-1.el6.x86_64.rpm2、安装RabbitMQ(1)安装socatyum -y install epel-releaseyum -y install socat(2)安装RabbitMQ下载RabbitMQ 下载地址rpm -ivh rabbitmq-server-3.8.9-1

2021-02-08 11:00:12 297

原创 通过Nginx实现HTTP强制重定向至HTTPS

通过Nginx实现HTTP强制重定向至HTTPS共有2种方式(推荐使用方法2):1、使用nginx的rewrite方法 server { listen 80; server_name www.***.com; rewrite ^(.*)$ https://$host$1 permanent; }2、使用nginx的301状态码 server { listen 80; server_name

2021-02-05 10:36:42 445

原创 JS制作仿博客样式日历,按日期汇总信息

1、html代码 <div class="calendar"> <div class="event-header"> <span class="title"><a href="">活动日历</a></span> <span class="more"><a href="">更多>></a>

2021-02-03 09:02:14 144 1

转载 解决自签名证书在Chrome上的“不是私密连接问题”

一、生成证书1、创建根证书新建MyCompanyCA.cnf文件并输入以下内容:[ req ]distinguished_name = req_distinguished_namex509_extensions = root_ca[ req_distinguished_name ]# 以下内容可随意填写countryName = CN (2 letter code)countryName_min = 2countryName_max

2021-02-03 08:47:00 2539 2

原创 MyBatis-Plus分页依赖冲突及弃用提示

1、采用pagehelper分页,会产生依赖冲突问题需在pom中排除mybatis<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.10</version> <exclusions> <exclusion>

2021-02-03 08:45:32 1545

原创 @RequestBody和@RequestParam区别

@RequestParam用来处理Content-Type: 为 application/x-www-form-urlencoded编码的内容。(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)RequestParam可以接受简单类型的属性,也可以接受对象类型。实质是将Request.getParameter()中的Key-Value参数Map利用Spring的转化机制ConversionService配置

2021-02-03 08:42:25 97

原创 Mybatis-plus 映射字段时忽略字段的三种方式

1、声明该字段为 transientprivate transient List<SpecParam> params;2、声明该字段为 staticprivate static List<SpecParam> params;3、通过注解@TableField(exist = false)声明@TableField(exist = false)private List<SpecParam> params;以上三种方式可使对象中的属性不被序列化...

2021-02-03 08:41:17 3336

转载 Lombok中使用@EqualsAndHashCode注解

有的时候,我们需要重写一个类的@equals和@hashcode方法,就可以使用@EqualsAndHashCode注解。官网上大致是这样介绍@EqualsAndHashCode注解的:此注解会生成equals(Object other) 和 hashCode()方法。它默认使用非静态,非瞬态的属性可通过参数exclude排除一些属性可通过参数of指定仅使用哪些属性它默认仅使用该类中定义的属性且不调用父类的方法可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。

2021-02-03 08:40:08 342

转载 使用Mybatis-Plus条件构造器的“进化”过程

1、天真朴素的写法QueryWrapper<User> qw = new QueryWrapper<>();if (StringUtils.isNotBlank(nick)) { qw.like("nick", nick);}if (state != null) { qw.eq("state", state);}return userMapper.selectList(qw);2、分析API后AbstractWrapper的条件方法均重载有“是否拼接入SQL

2021-02-03 08:38:57 229

转载 JUnit单元测试详解

简介JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。好处可以书写一系列的测试方法,对项目所有的接口或者方法进行单元测试。启动后,自动化测试,并判断执行结果, 不需要人为的干预。只需要查看最后结果,就知道整个项目的方法接口是否通畅。每个单元测试用例相对独立,由Junit 启动,自动调用。不需要添加额外的调用语句。添加,删除,屏蔽测试方法,不影响其他的测试方法。 开源框架

2021-02-03 08:37:51 1013

转载 一方库、二方库、三方库说明

说明清单条目别称说明一方库一方包本工程中的各模块的相互依赖二方库二方包公司内部的依赖库,一般指公司内部的其他项目发布的jar包三方库三方包公司之外的开源库, 比如apache、google等发布的jar包,如logging、log4j等示例某公司拥有两个项目,分布为项目A和项目B,形成的jar包为:项目A.jar和项目B.jar项目A和项目B都使用了log4j的jar包:log4j.jar对于项目A来说,项目A.jar就是一方库,项目B.jar

2021-02-03 08:36:35 282

转载 Java枚举的使用

枚举类型可以取代以往常量的定义方式,即将常量封装在类或接口中。此外,枚举类型还提供了安全检查功能。枚举类型本质上还是以类的形式存在。1、使用枚举类型设置常量以往设置常量,通常将常量放置在接口中,这样在程序中就可以直接使用了,并且该常量不能被修改,因为在接口中定义的常量时,该常量的修饰符为final与static。public interface Constants{ public static final int RED = 1; public static final int BLUE = 2

2021-02-01 09:25:28 125

原创 ES6解构表达式

数组解构比如有一个数组:let arr = [1,2,3]我想获取其中的值,只能通过角标。ES6可以这样:const [x,y,z] = arr;// x,y,z将与arr中的每个位置对应来取值// 然后打印console.log(x,y,z);对象解构例如有个person对象:const person = { name:"jack", age:21, language: ['java','js','css']}我们可以这么做:// 解构表达式获取值c

2021-02-01 09:24:37 139

原创 java8 lambda表达式详解

Lambda初体验首先我们看一下什么是lambda表达式。简单点说就是:一段带有输入参数的可执行语句块。//这里省略list的构造List<String> names = ...;Collections.sort(names, (o1, o2) -> o1.compareTo(o2));//这里省略list的构造List<String> names = ...;Collections.sort(names, new Comparator<String&gt

2021-02-01 09:23:50 274

原创 Mybatis-Plus传入实体类查询

@Overridepublic List<SpecParam> queryParamsByGid(Long gid, Long cid, Boolean generic, Boolean searching) { SpecParam specParam = new SpecParam(); specParam.setGroupId(gid); specParam.setCid(cid); specParam.setGeneric(generic); sp

2021-02-01 09:22:57 4136 1

转载 FastDFS上传文件时,出现500错误

项目背景:项目使用微服务的架构进行开发,前端进行文件上传时,首先经过nginx反向代理到对应的上传文件模块的服务器,再由该服务器将图片上传到FastDFS。点击上传文件后出现500首先就去检查了自己的程序,发现没有日志打出来,所以应该是在nginx进行反向代理的过程中出错。仔细观察发现Response Headers中的Server是nginx,此时第一反应是认为nginx对文件大小进行了限制。所以对nginx的http进行了如下配置:client_max_body_size 200m;重启ng.

2021-02-01 09:21:51 721

原创 帝国CMS XSS跨站脚本过滤

系统渗透测试发现,帝国CMS存在XSS跨站脚本攻击问题,具体表现为:后台用户提交的参数未做过滤或过滤不严就直接输出到页面,参数中的特殊字符打破了HTML页面的原有逻辑,黑客可以利用该漏洞执行恶意HTML/JS代码、构造蠕虫传播、篡改页面实施钓鱼攻击、诱导用户再次登录,然后获取其登录凭证等。代码处理如下:1、编辑/e/class/userfun.php文件,增加user_replaceXSS函数<?php//---------------------------用户自定义标签函数文件fu.

2021-02-01 09:19:41 481

原创 Elasticsearch常见的启动报错

报错一:unable to install syscall filter解决方法:编辑elasticsearch.yml在最下面添加如下配置bootstrap.system_call_filter: false报错二:[1]: max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]解决方法:首先用root用户登录修改配置文件vim /et

2021-02-01 09:17:59 378

原创 ElasticSearch 7.10.1报错Root mapping definition has unsupported parameters

新建索引时,报错Root mapping definition has unsupported parametersPUT /cars{ "settings": { "number_of_shards": 1, "number_of_replicas": 0 }, "mappings": { "transactions": { "properties": { "color": { "type": "keyword"

2021-02-01 09:17:15 1041

原创 使用ElasticSearch 报错 java.lang.IllegalStateException: Received message from unsupported version

使用ElasticSearch启动时报错:表示从不支持的版本接收到的消息:[5.2.2]最小兼容版本是:[5.6.0]java.lang.IllegalStateException: Received message from unsupported version: [5.2.2] minimal compatible version is: [5.6.0]解决方法:pom.xml中修改SpringBoot版本号<parent> <groupId>org.spr

2021-02-01 09:15:51 2432

原创 部署https证书后,部分http链接资源被blocked的问题

https改造之后,部分第三方资源,如bshare分享、cnzz统计等无法正常加载,在很多页面中会看到如下警报:Mixed Content: The page at 'https://***.html' was loaded over HTTPS, but requested an insecure script 'http://***/b/buttonLite.js'. This request has been blocked; the content must be served over HTTP

2021-02-01 09:14:06 903

原创 SpringBoot报错Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datas

SpringBoot启动报错:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.解决方法:方法1:如果项目不配置DataSource,可以在启动类声明排除@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})方法2:该项目pom.xml

2021-01-31 11:56:21 250

原创 FeignClient报错The bean ‘item-service.FeignClientSpecification‘ could not be registered. A bean with t

FeignClient启动报错The bean 'item-service.FeignClientSpecification' could not be registered. A bean with that name has already been defined and overriding is disabled.报错原因:在Spring Boot 2.0.x 中,spring.main.allow-bean-definition-overriding属性默认是 true,注解@Feig

2021-01-31 11:55:39 3692

原创 注解禁用ElasticSearch7.10.1自动创建索引

ElasticSearch7.10.1,SpringBoot启动时会自动初始化索引及字段,如果无需自动初始化索引,可在注解中声明createIndex = false@Document(indexName = "goods", replicas = 0, createIndex = false)

2021-01-31 11:54:27 1897

原创 Vue动态切换class样式

可以传给 v-bind:class 一个对象,以动态地切换class:<div v-bind:class="{ active: isActive }"></div>上面的语法表示 active 这个 class 存在与否将取决于数据属性 isActive 的 truthiness(所有的值都是真实的,除了false,0,“”,null,undefined和NaN)。可以在对象中传入更多属性来动态切换多个 class。此外,v-bind:class 指令也可以与普通的 clas

2021-01-31 11:53:35 2582

原创 Java分页时获取总页数的方法

方法1:Integer totalPage = (int) (total / pageSize + ((total % pageSize == 0) ? 0 : 1));方法2:Integer totalPage = (int) Math.ceil(total.doubleValue() / pageSize.doubleValue());

2021-01-31 11:52:58 2392

原创 CSS命名及书写规范

第一部分 CSS命名规范一、CSS文件命名规范全局样式:global.css框架布局:layout.css字体样式:font.css链接样式:link.css打印样式:print.css二、常用类/ID命名规范页 眉:header内 容:content容 器:container页 脚:footer版 权:copyright布 局:wrapper左右中:left right center导 航:nav菜 单:menu主菜单:mainMenu子菜单:subMenu标 

2021-01-31 11:52:26 2062

原创 require.js整合bootstrap报错Uncaught Error: Script error for “popper.js“, needed by: bootstrap

使用require.js模块化开发引入bootstrap4时会报错,需在配置require.js时添加map参数,最终解决方案如下:require.config({ baseUrl: 'static/js/', paths: { "jquery": "jquery", "bootstrap": "bootstrap" }, shim: { "bootstrap": ["jquery"] }, map: {

2021-01-31 11:51:39 2046

原创 通过CSS控制标题长度,截断并显示“...”

可通过CSS,控制标题长度超出后的显示样式:overflow:hidden;表示溢出隐藏text-overflow:ellipsis;表示超出后显示…white-space: nowrap;表示不换行.title { width: 300px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}...

2021-01-31 11:44:18 380

转载 require.js的用法及AMD模块的写法

一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。  <script src="1.js"></script>  <script src="2.js"></script>  <script src="3.js"></script>  <script sr

2021-01-31 11:42:45 311

原创 帝国CMS通过API插件输出json数据

插件路径/e/extend/api/getInfos.php前端访问https://www.tskjxy.com.cn/e/extend/api/getInfos.php?classid=74&year=2019&month=01实现效果:输入栏目id、发布年月,最终输出所匹配的信息<?phprequire('../../class/connect.php'); //引入数据库配置文件和公共函数文件require('../../class/db_sql.php'); //引入

2021-01-31 11:38:46 651

原创 SpringBoot2.3.6整合Elasticsearch7.10.1教程

网上教程多是Elasticsearch旧版本,很多方法已废弃,本文以Elasticsearch 7.10.1,SpringBoot 2.3.6.RELEASE为例说明两者如何整合:一、添加pom依赖<?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-ins

2021-01-09 19:53:46 1632 6

原创 通过nginx和cors解决跨域问题

一、跨域产生的原因跨域问题是浏览器对于ajax请求的一种安全限制:一个页面发起的ajax请求,只能与当前页域名相同,这能有效阻止跨站攻击。但是这却给我们的开发带来了不便,而且在实际生产环境中,肯定会有很多台服务器之间交互,地址和端口都可能不同,怎么办?二、解决方案1、通过nginx反向代理方式:location / { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Method

2020-12-14 16:24:28 426

原创 uniapp禁止遮罩层下的页面滚动

<view @touchmove.stop.prevent="moveHandle"></view>methods: { moveHandle() {}}

2019-09-04 16:47:14 10790 4

原创 uniapp中使用百度名片识别接口或名片全能王识别接口

scan() { var me = this; uni.chooseImage({ count: 1, sizeType: ['compressed'], sourceType: ['album', 'camera'], success: function(res) { var tempFilePath = res.tempFi...

2019-08-23 14:10:08 1829 1

原创 uniapp绘制自定义顶部导航

startCreateView() { var me = this; me.titleTimer = setTimeout(function() { me.createView(); }, 100); //具体缓迟时间可以按需设置 }, createView() { clearTimeout(this.titleTimer); v...

2019-08-21 15:37:58 2752

空空如也

空空如也

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

TA关注的人

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