- 博客(55)
- 资源 (18)
- 收藏
- 关注
原创 JAXBContext、Jackson 解析xml与springboot接收并响应xml
首先介绍JAXBContext解析xmlJAXBContext是javax.xml.bind包下的类,It provides an abstraction for managing the XML/Java binding
2021-06-18 02:18:05 2920 2
原创 redis扣减库存示例代码 java
使用redis扣减库存,保证库存不超发或少发的核心是保证redis读取库存和扣减库存的原子性。不能多个线程读取同一时刻的库存再去做扣减,也不能多个线程先扣减库存再去读库存。下面先介绍正确实例1.使用lua脚本SpringDataRedis版本 代码如下package com.wl.redis.jedis;import org.apache.commons.pool2.impl.GenericObjectPoolConfig;import org.springframework.bea
2021-06-16 23:53:49 1418
原创 微信公众号自动回复简单实现
第一步:配置接口配置信息测试账号在http://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index网页中配置 接口配置信息配置参考微信测试账号管理-配置接口信息如果是开发账号请在https://mp.weixin.qq.com/advanced/advanced?action=interface&t=advanced/interface&token=637985175...
2021-06-02 23:11:04 1071 1
原创 spring-boot webflux的简单应用
webflux是一个响应式异步非阻塞的web应用,是SpringFramework5.0后新增的功能,spring-boot 2.0以后的版本都支持webflux官网文档:https://docs.spring.io/spring-framework/docs/current/reference/html/web-reactive.html#webflux下面以spring-boot 应用为例,简单介绍webflux的用法pom.xml<?xml version="1.0" enco
2021-05-06 11:25:49 1369 1
原创 select2使用ajax分页查询后台加载下拉数据
html代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>select2</title></head><script src="assets/js/jquery.min.js"></script><link href="resource/js/plugin/select2/s
2021-04-23 00:21:17 960
原创 ScriptAssert注解实现参数个性化校验的简单用法
web接口往往需要做参数校验,hibernate-validator包中提供了很多注解,譬如Length、Email、NotBlank、Range等注解为我们提供了特定的校验功能。但是一些个性化的校验以上注解就无能为力了,譬如校验两次输入的密码是否一致。但是ScriptAssert为我们提供了个性化检验参数的能力。以用户注册为例。在用户注册时我们要校验输入密码与确认密码是否一致,和用户名中是否包含特殊字符@ScriptAssert(script = "_this.password.equals(_
2021-04-21 22:58:16 3512
原创 微信测试号管理——接口配置信息的配置
微信测试账号配置 ———接口配置信息进入https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login获取测试账号appId 和 secretKey配置接口信息注意:1.url的端口 http 为80 https 为4432.Token为任意数字与字母组合且长度3-32由于我的服务器80端口已经被nginx监听,所以做了一个nginx转发我的wechatService服务监听的web端口为9080se...
2021-04-11 18:24:09 4040
原创 腾讯云ubuntu20安装mysql5.7.16
腾讯云ubuntu20服务器安装mysql使用 sudo apt install mysql-client-core 和 sudo apt install mysql-server默认安装的是mysql8.0以上版本。并使用/etc/mysql/debian.cnf 中的user(debian-sys-maint) 和 password 登录mysql。注意:安装过程没有密码确认,会生成一个debian.cnf文件,里面有登录的用户名和密码。由于mysql8.0授权外部mysql客户端..
2021-04-11 15:02:58 423
原创 jmeter测试对外接口使用BeanShell生成签名
jmeter的简单应用参考jmeter的简单应用一般对外的接口都会使用签名进行身份和参数校验使用jmeter测试需要签名的接口有两种办法1.使用服务器转发请求。在服务器中生成签名并转发请求到目标服务器2.使用BeanShell预处理程序。根据签名规则,可能需要暴露secreteKey等信息下面介绍BeanShell预处理生成签名。beanShell测试代码(使用DigestUtils需要导入commons-codec.jar包)import org.apache.commons
2021-03-20 17:15:41 905
原创 jmeter的简单使用以及跨域下Http Cookie管理器获取不到cookie的解决方法
jemeter下载地址:https://jmeter.apache.org/download_jmeter.cgi解压压缩文件,进入bin目录。双击ApacheJMeter.jar(客户端为中文)或jemeter.bat即可启动jemeterjemeter支持很多测试类型,下面只简单介绍web http的测试打开jemeter后在测试计划下添加线程组如下图在线程组下添加一个http请求如下(登陆接口)在登陆接口下添加一个观察结果树如下执行(未保
2021-03-20 13:40:21 3944
原创 elasticsearch java客户端 RestClient 接口demo详解
elasticsearch的安装java客户端有TransportClient和RestClientelasticsearcElasticsearch计划在Elasticsearch 7.0中弃用TransportClient,在8.0中完全删除它下面介绍RestClient客户端 官网文档https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.8/java-rest-high.htmlpom.xml添加依赖..
2021-03-17 23:51:25 1150
原创 elasticsearch的安装
elasticsearch github 地址为https://github.com/elastic/elasticsearch下载elasticsearchhttps://www.elastic.co/cn/downloads/past-releases#elasticsearch注意elasticsearch版本对应的jdk版本。我使用的jdk版本为1.8.0,下载的elasticsearch版本为6.8.8每一个elasticsearch压缩包中都含有自带的jdk,如果您希望使用最新的..
2021-03-13 23:35:12 490
原创 rabbitMq的安装与demo应用 java
rabbitMq是使用erlang语言编写的,在安装rabbitMq之前需要先准备erlang环境以ubuntu系统为例下载otp,我的版本是20.0解压压缩文件root@ubuntu:/usr/local/otp# tar -xvf otp_src_20.0在安装erlang之前,我们可能需要先安装ncurses如果您的linux没有安装ncurses,则在安装erlang时可能会报o such file or directory error: No curses libra
2021-03-12 23:24:13 417
原创 kafka的安装与demo应用java
下载kafka编译后的压缩包(文件名称中没有src)https://kafka.apache.org/downloads参考文档https://kafka.apache.org/quickstart这里我将压缩包放在了/home/wl/mq/ 目录下(我的版本为2.5.1)解压tar -xzf kafka_2.12-2.5.1cd kafka_2.12-2.5.1kafka启动需要zookeeper,并且kafka自带了zookeeper启动kafka自带的zookeeper..
2021-03-11 09:35:22 718
原创 rocketmq 的安装与简单的示例代码java
参考官方文档https://rocketmq.apache.org/docs/quick-start/下载rocketmq源码https://rocketmq.apache.org/dowloading/releases/(我的版本为4.5.0 。最新的4.8.0安装namesrv时报错)解压源码unzip rocketmq-all-4.5.0-source-release.zip进入解压文件夹,使用mvn编译(需要maven版本3.0以上)mvn -Prelease-all ...
2021-03-06 14:23:17 166
原创 redis分布式锁的简单实现java
锁一般用在多线程系统中,通过获取锁和释放锁来保证线程的串行执行,也就是同步排队执行。在单体应用中我们可以使用synchronized关键字保证线程的同步执行,但是在分布式场景中,由于无法保证锁的唯一性,因此synchronized方法便不再可行。需要使用一个公共的锁使用redis实现分布式锁主要使用了redis的set(setnx)命令 和expire命令在介绍分布式锁之前先简单了解下redis的事务transaction (官方文档地址 https://redis.io/topics/tran
2021-02-06 20:51:15 258
原创 redis geohash java 及spatial4j计算距离
redis3.2版本提供了geohash功能geohash的原理参考[geohash精度与原理](https://www.cnblogs.com/feiquan/p/11380461.html)求两个坐标之间的距离 使用geoadd命令添加两个坐标的经纬度 使用geodist命令获取两个坐标的距离...
2021-02-02 22:13:23 982 2
原创 redis过期key监听与发布订阅功能java
背景:redis2.8后提供了发布订阅(pub|sub)功能实现redis过期key的监听,只需要在监听容器中将键过期事件的消息通道(keyevent@*:expired)与listener绑定即可。keyevent@*:expired中的*号表示匹配redis中所有db0-db15的数据库,keyevent@0:expired表示只监听db0数据库的key过期事件spring-data-redis的实现1.在spring-data-redis中提供了KeyExpirationEventMessage
2020-12-11 22:33:04 2950
原创 沙箱支付宝alipay-easysdk java 支付能力对接
1.配置沙箱密钥并获取沙箱账号密码1)打开支付宝开放平台主页https://open.alipay.com/platform/home.htm并登陆2)打开https://opendocs.alipay.com/open/291/105971下载密钥生成工具3)生成密钥(应用私钥就是下面alipay.properties中的merchantPrivateKey)4)打开https://openhome.alipay.com/platform/appDaily.htm?tab=info设置支付宝公钥
2020-12-10 14:10:08 7177 1
原创 使用quartz实现可以后台配置的定时任务服务
目录创建工程创建common-api工程创建scheduler-service工程scheduler-service的实现scheduler-service的默认配置scheduler-service的quartz配置如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入创建工
2020-07-16 18:27:41 1910
原创 spring-cloud-gateway的简单使用
不同于zuul(基于servlet),spring-cloud-gateway 基于webflux1.基于zookeeper作为服务注册与发现中心的spring-cloud-gateway的使用使用zookeeper作为服务注册中心参考我的这篇文章spring-cloud使用zookeeper作为服务注册发现中心(下面会使用到该文章所建工程)新建工程gateway<grou...
2019-04-24 01:08:29 6619 4
原创 spring-cloud-starter-netflix-zuul(原spring-cloud-starter-zuul)的使用
1.基于eureka为服务注册中心的zuul。首先我们需要搭建一个eureka服务,关于这一步可以参考我的另一篇文章spring-cloud-eureka服务发现注册中心及spring-cloud微服务,在本篇文章也会用到spring-cloud-eureka服务发现注册中心及spring-cloud微服务里面的工程下面我们新建zuul工程<groupId>com.wl....
2019-04-02 23:38:05 14473 2
原创 spring-boot整合dubbo+zookeeper
工程目录结构如下新建工程<groupId>com.wl.springcloud</groupId><artifactId>dubbo-zookeeper</artifactId><version>1.0-SNAPSHOT</version>pom.xml<?xml version="1.0" ...
2019-03-29 21:18:53 1143 1
原创 spring-cloud使用zookeeper作为服务注册发现中心
spring-cloud默认使用eureka作为服务注册发现中心,使用zookeeper作为服务注册发现中心需要依赖spring-cloud-starter-zookeeper-discovery新建工程<groupId>com.wl.springcloud</groupId><artifactId>zookeeper</artifactId&...
2019-03-29 20:32:16 3006 1
原创 spring-boot-starter-jersey的使用
jersey与resteasy一样都是JAX-RS即Java API for RESTful Web Services标准的实现,spring-boot-starter-jersey提供了对Jersey RESTful Web服务框架的支持,能够让我们轻松的构建RESTful Web工程。新建工程<groupId>com.wl.jersey</groupId>&...
2019-03-23 23:59:48 5347 1
原创 spring-cloud-config-server 集群
spring-cloud-config-server 服务器搭建这篇文章介绍了如何搭建配置服务器及如何使用配置服务器加载配置。但是上面的都是针对单机的配置服务器,虽然集群的配置服务器基本没用到过,但是这里贴一下如何搭建及使用集群的配置服务器相比较单机的config服务器,集群的服务器需要将服务注册到eureka上去(eureka服务器搭建参考spring-cloud-eureka服务发现注册中...
2019-03-11 22:31:05 990 2
原创 spring-cloud-eureka服务发现注册中心及spring-cloud微服务
spring-cloud 使用eureka作为服务注册与发现中心,与zookeeper不同,eureka没有提供可直接运行的压缩文件,需要我们手动搭建eureka服务器。spring-cloud 与dubbo区别参考https://www.cnblogs.com/aspirant/p/9089146.htmleureka服务器的搭建很简单与一般的spring-boot应用相同,只是启动类需要...
2019-03-11 16:26:15 9828 1
原创 spring-cloud-config-server 服务器搭建
新建一个config git 仓库 (可以使用github或开源中国的git仓库)git@ubuntu:~/repo$ mkdir config.gitgit@ubuntu:~/repo$ cd config.gitgit@ubuntu:~/repo$ git --bare init克隆config仓库Administrator@WL /d/workspace$ git cl...
2019-03-07 21:57:54 2588
原创 使用nginx搭建http 访问的git服务器
一般git安装完成之后都是使用ssh协议拉取和推送git服务器,如果需要使用http协议的方式,需要一个http容器和额外的配置。这里使用nginx作为http容器。首先需要安装git和nginx,接着需要安装 libfcgi-dev、autoconf 、libtool、 automake具体过程请参考https://www.nginx.com/resources/wiki/start/to...
2019-01-30 17:33:13 4799 1
原创 一个事物下jpa更新数据库实体对象属性后自动update
记录今天偶然发现的一个隐藏的bug具体是这样的:在一个事物中查询出一条记录例如Student id=1,然后修改student对象的一个属性例如name,再通过jpa执行update 语句修改一个字段age 例如:update student set age = 1 where id=1。最后发现数据库中除了age更新之外,name字段也做了更新,一条update 指令执行了两次update。...
2018-12-13 00:29:27 9932 3
原创 java 导入excel csv
简单好用的java 导入 excel csv工具类 注解类package com.wl.poi.read.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;imp...
2018-10-26 22:36:09 853
原创 spring-data-jpa 模糊查询特殊字符转义
当使用特殊字符 譬如 _ %等模糊查询时往往查询的结果不是我们想要的 _会匹配任意的一个字符 %会匹配任意多个字符。想要使用_ %进行模糊查询 必须对其进行转义 例如下面的sqlselect * from orders where name like "%abc_%"会匹配任意name包含 abc的数据 如果需要匹配 abc_则需要对下划线_转义select * from...
2018-08-28 11:45:25 8528 3
原创 springboot 整合activemq 以及tpoic 持久化 和 虚拟主题(virtual topic)
mq 分为 queue(队列模式,生产者生产了一个消息,只能由一个消费者进行消费) topic(发布/订阅模式,生产者生产了一个消息,可以由多个消费者进行消费)application.properties 配置# http portserver.port=9090env.host.mq=192.168.46.128#===============================...
2018-08-28 00:19:46 3643 3
原创 跨域重定向插件
下载链接https://chrome.google.com/webstore/detail/nlfbmbojpeacfghkpbjhddihlkkiljbi (需要翻墙)
2018-08-09 21:58:35 416
原创 使用hibernate 实现spring-data-jpa 中 JpaSpecificationExecutor 接口功能
本文使用的Hibernate版本是 5.2.12.Final需要实现的JpaSpecificationExecutor 接口功能(findOne除外)package org.springframework.data.jpa.repository;import java.util.List;import java.util.Optional;import org.springfr...
2018-07-31 19:00:07 1037
原创 jenkins 打包 git 仓库源码
安装并配置jenkinsjenkins 安装并配置新建一个任务配置店家立即构建Started by user wuliBuilding in workspace /root/.jenkins/workspace/email-service1 > /usr/local/bin/git rev-parse --is-inside-work-tr...
2018-07-27 20:44:11 1328
原创 jenkins 的安装与配置
jenkins的安装方式有很多种,最简单的就是直接下载jenkins.war 包了首先下载jenkins.war 下载 地址 http://mirrors.jenkins.io/war-stable/执行 java -jar jenkins.war 启动 默认端口为8080,启动后会在日志中打印admin的密码Jenkins initial setup is required. An...
2018-07-27 20:02:40 4887
原创 spring-boot-starter-mail + dubbo 实现发送邮件微服务
1.搭建一个dubbo + zookeeper 的环境 dubbo + zookeeper环境搭建2.新建两个工程 2.1简单的 api接口工程 email-api <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i...
2018-07-27 16:02:20 3561 2
原创 zookeeper + dubbo 环境搭建
参考 http://dubbo.apache.org/zh-cn/docs/user/quick-start.html http://dubbo.apache.org/zh-cn/docs/user/references/registry/zookeeper.html安装dubbo-admin 时需要将dubbo-admin.war 解压放在ROOT 目录下否者会有很...
2018-07-27 13:38:12 267
原创 nginx 搭建maven 私有仓库
搭建maven仓库有多种方法,实际上只需要有一个可以访问的http服务就可以搭建一个maven仓库。在这里介绍通过nginx作为web容器的搭建方法。1.安装nginxnginx 的安装2.配置nginx 静态资源服务器nginx静态资源服务器配置我的配置如下server { listen 80; server_name lo...
2018-07-26 23:28:44 2301
openssh-client
2016-10-26
openssh-server.deb
2016-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人