- 博客(71)
- 收藏
- 关注
转载 SpringBoot系列教程之Redis集群环境配置
之前介绍的几篇redis的博文都是基于单机的redis基础上进行演示说明的,然而在实际的生产环境中,使用redis集群的可能性应该是大于单机版的redis的,那么集群的redis如何操作呢?它的配置和单机的有什么区别,又有什么需要注意的呢?本篇将主要介绍SpringBoot项目整合redis集群,并针对这个过程中出现的问题进行说明,并给出相应的解决方案I. 环境相关首先需要安装r...
2019-09-28 19:30:00 593
转载 SpringBoot系列教程web篇之如何自定义参数解析器
title: 190831-SpringBoot系列教程web篇之如何自定义参数解析器banner: /spring-blog/imgs/190831/logo.jpgtags:请求参数categories:SpringBoot高级篇Webdate: 2019-08-31 16:45:48keywords: Spring SpringBoot 参数解析 Handle...
2019-08-31 17:22:00 160
转载 SpringBoot系列教程web篇之Post请求参数解析姿势汇总
作为一个常年提供各种Http接口的后端而言,如何获取请求参数可以说是一项基本技能了,本篇为《190824-SpringBoot系列教程web篇之Get请求参数解析姿势汇总》之后的第二篇,对于POST请求方式下,又可以怎样获取请求参数呢本篇主要内容包括以下几种姿势@RequestBody json格式RequestEntityMultipartFile 文件上传I. 环境搭...
2019-08-28 19:18:00 236
转载 SpringBoot系列教程web篇之Get请求参数解析姿势汇总
一般在开发web应用的时候,如果提供http接口,最常见的http请求方式为GET/POST,我们知道这两种请求方式的一个显著区别是GET请求的参数在url中,而post请求可以不在url中;那么一个SpringBoot搭建的web应用可以如何解析发起的http请求参数呢?下面我们将结合实例汇总一下GET请求参数的几种常见的解析姿势原文:190824-SpringBoot系列教程...
2019-08-24 22:26:00 287
转载 SpringBoot系列教程web篇之Beetl环境搭建
前面两篇分别介绍了目前流行的模板引擎Freemaker和Thymeleaf构建web应用的方式,接下来我们看一下号称性能最好的国产模板引擎Beetl,如何搭建web环境本文主要来自官方文档,如有疑问,推荐查看: http://ibeetl.com/guide/#beetlI. 准备1. 依赖首先我们是需要一个springboot项目,基本的pom结构大都相似<par...
2019-08-22 22:11:00 205
转载 SpringBoot系列教程web篇之Thymeleaf环境搭建
上一篇博文介绍了如何使用Freemaker引擎搭建web项目,这一篇我们则看一下另外一个常见的页面渲染引擎Thymeleaf如何搭建一个web项目推荐结合Freemaker博文一起查看,效果更佳 190816-SpringBoot系列教程web篇之Freemaker环境搭建I. 准备Thymeleaf 是现代化服务器端的Java模板引擎,不同与JSP和FreeMarker,...
2019-08-22 22:09:00 118
转载 SpringBoot系列教程web篇之Freemaker环境搭建
现在的开发现状比较流行前后端分离,使用springboot搭建一个提供rest接口的后端服务特别简单,引入spring-boot-starter-web依赖即可。那么在不分离的场景下,比如要开发一个后端使用的控制台,这时候可能并没有前端资源,由javaer自己来客串一把,我希望简单一点,前后端项目都集成在一起,一个jar包运行起来就完事,可以怎么搞呢?本篇将介绍一下如何使用spring...
2019-08-22 22:06:00 187
转载 SpringBoot系列教程JPA之query使用姿势详解之基础篇
前面的几篇文章分别介绍了CURD中的增删改,接下来进入最最常见的查询篇,看一下使用jpa进行db的记录查询时,可以怎么玩本篇将介绍一些基础的查询使用姿势,主要包括根据字段查询,and/or/in/like/between 语句,数字比较,排序以及分页I. 环境准备在开始之前,当然得先准备好基础环境,如安装测试使用mysql,创建SpringBoot项目工程,设置好配置信息等,关于...
2019-08-22 22:04:00 454
转载 ProtoStuff无法反序列化Deprecated注解成员问题记录
在开发过程中,遇到一个鬼畜的问题,在DO的某个成员上添加@Deprecated注解之后,通过ProtoStuff反序列化得到的DO中,这个成员一直为null;花了不少时间才定位这个问题,特此记录一下原文 ProtoStuff无法反序列化Deprecated注解成员问题记录I. 全程实录1. 环境相关原项目中使用protostuff作为POJO序列化工具,对应的版本为<...
2019-08-22 22:03:00 119
转载 Influx Sql系列教程九:query数据查询基本篇二
前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持在开始本文之前,建议先阅读上篇博文: 190813-Influx Sql系列教程八:query数据查询基本篇0. 数据准备在开始查询之前,先看一下我们准备的数据,其中name,phone为tag, age,blog,id...
2019-08-21 08:43:00 148
转载 Influx Sql系列教程九:query数据查询基本篇二
前面一篇介绍了influxdb中基本的查询操作,在结尾处提到了如果我们希望对查询的结果进行分组,排序,分页时,应该怎么操作,接下来我们看一下上面几个场景的支持在开始本文之前,建议先阅读上篇博文: 190813-Influx Sql系列教程八:query数据查询基本篇0. 数据准备在开始查询之前,先看一下我们准备的数据,其中name,phone为tag, age,blog,id...
2019-08-21 08:43:00 132
转载 Influx Sql系列教程八:query数据查询基本篇
前面几篇介绍了InfluxDB的添加,删除修改数据,接下来进入查询篇,掌握一定的SQL知识对于理解本篇博文有更好的帮助,下面在介绍查询的基础操作的同时,也会给出InfluxSql与SQL之间的一些差别在开始之前,先看一下供查询的数据> show measurementsname: measurementsname----yhh> select * from y...
2019-08-21 08:42:00 168
转载 Influx Sql系列教程七:delete 删除数据
前面介绍了使用insert实现新增和修改记录的使用姿势,接下来我们看一下另外一个简单的使用方式,如何删除数据1. delete 语句delete的官方语法如下DELETE FROM <measurement_name> WHERE [<tag_key>='<tag_value>'] | [<time interval>]delet...
2019-08-21 08:42:00 147
转载 Influx Sql系列教程六:insert 修改数据
在influxdb中没有专门的修改数据的update语句,对于influxdb而言,如果想修改数据,还是得使用我们前面的说到的insert来实现,那么怎么判断一条insert语句是插入还是修改呢?1. insert数据修改关于insert的使用语法,可以参考上一篇博文:190726-Influx Sql系列教程五:insert 添加数据这里只是贴一下基本语法insert int...
2019-08-21 08:41:00 127
转载 Influx Sql系列教程五:insert 添加数据
接下来开始进入influxdb的curd篇,首先我们看一下如何添加数据,也就是insert的使用姿势在进入本篇之前,对于不了解什么是retention policy, tag, field的同学,有必要快速过一下这几个基本概念,可以参考文后的系列教程I. Insert 使用说明基本语法insert into <retention policy> measurem...
2019-08-21 08:40:00 159
转载 Influx Sql系列教程四:series/point/tag/field
influxdb中的一条记录point,主要可以分为三类,必须存在的time(时间),string类型的tag,以及其他成员field;而series则是一个measurement中保存策略和tag集构成;本篇教程将介绍一些这几个概念1. taginfluxdb数据结构中记录元数据(metadata)的kv对,不要求必须存在,tag key/value 都是字符串类型,而且会建立索...
2019-08-21 08:39:00 149
转载 Influx Sql系列教程三:measurement 表
在influxdb中measurement相当于mysql中的表,可以理解为一条一条记录都是存与measurent中的,一个数据库中可以有多个measurement,一个measurement中可以存很多的数据。虽然可将measurement类比为mysql中的表,但是他们之间的差别也挺明显的首先我们先了解一下measurement的几个常用命令,如何查看、新增删除1. show ...
2019-08-21 08:39:00 192
转载 Influx Sql系列教程二:retention policy 保存策略
retention policy这个东西相比较于传统的关系型数据库(比如mysql)而言,是一个比较新的东西,在将表之前,有必要来看一下保存策略有什么用,以及可以怎么用I. 基本操作1. 创建retention policyretention policy依托于database存在,也就是说保存策略创建时,需要指定具体的数据库,语法如下CREATE RETENTION POLI...
2019-08-21 08:38:00 124
转载 Influx Sql系列教程一:database 数据库
对于influxdb而言,database和我们更熟悉的mysql中的dababse没有什么特别的区别,可以将数据库简单理解为一堆表(measurement)的集合,接下来我们将看一下在influxdb中,database的常规操作1. 查看当前数据库如果需要查询当前有哪些数据库,可以通过show语句来实现show database上面的_internal是内置的数据库2....
2019-08-21 08:37:00 129
转载 Influx Sql系列教程零:安装及influx-cli使用姿势介绍
influxdb 时序数据库,因为实际业务中使用到了,然而并没有发现有特别好的文章,完整的介绍influx sql的使用姿势,因此记录下实际开发中学习的体会,主要参考来自于官方文档 Influx Query Language (InfluxQL)influx已经推出2.0beta版本,并没有使用,后面的所有都是以1.7版本进行说明I. 安装安装教程,直接参考官网链接,instal...
2019-08-21 08:36:00 189
转载 SpringBoot系列教程JPA之delete使用姿势详解
原文: 190702-SpringBoot系列教程JPA之delete使用姿势详解常见db中的四个操作curd,前面的几篇博文分别介绍了insert,update,接下来我们看下delete的使用姿势,通过JPA可以怎样删除数据一般来讲是不建议物理删除(直接从表中删除记录)数据的,在如今数据就是钱的时代,更常见的做法是在表中添加一个表示状态的字段,然后通过修改这个字段来表示记录...
2019-07-04 19:19:00 214
转载 SpringBoot系列教程JPA之update使用姿势
原文: 190623-SpringBoot系列教程JPA之update使用姿势上面两篇博文拉开了jpa使用姿势的面纱一角,接下来我们继续往下扯,数据插入db之后,并不是说就一层不变了,就好比我在银行开了户,当然是准备往里面存钱了,有存就有取(特别是当下银行利率这么低还不如买比特币屯着,截止19年6月22日,btc已经突破1.1w$,可惜没钱买????)这就是我们今天的主题,数据更新--...
2019-06-23 10:14:00 246
转载 SpringBoot系列教程JPA之新增记录使用姿势
SpringBoot系列教程JPA之新增记录使用姿势上一篇文章介绍了如何快速的搭建一个JPA的项目环境,并给出了一个简单的演示demo,接下来我们开始业务教程,也就是我们常说的CURD,接下来进入第一篇,如何添加数据通过本篇文章,你可以get到以下技能点POJO对象如何与表关联如何向DB中添加单条记录如何批量向DB中添加记录save 与 saveAndFlush的区别...
2019-06-16 22:12:00 118
转载 SpringBoot系列教程JPA之基础环境搭建
JPA(Java Persistence API)Java持久化API,是 Java 持久化的标准规范,Hibernate是持久化规范的技术实现,而Spring Data JPA是在 Hibernate 基础上封装的一款框架。JPA作为标准,实际上并没有说局限于某个固定的数据源,事实上mysql,mongo, solr都是ok的。接下来我们将介绍下springboot结合jpa 来实现...
2019-06-16 21:57:00 105
转载 老哥你真的知道ArrayList#sublist的正确用法么
我们有这么一个场景,给你一个列表,可以动态的新增,但是最终要求列表升序,要求长度小于20,可以怎么做?这个还不简单,几行代码就可以了public List<Integer> trimList(List<Integer> list, int add) { list.add(add); list.sort(null); if (list.s...
2019-05-25 20:36:00 94
转载 SpringBoot文件上传异常之提示The temporary upload location xxx is not valid
原文: 一灰灰Blog之Spring系列教程文件上传异常原理分析SpringBoot搭建的应用,一直工作得好好的,突然发现上传文件失败,提示org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java....
2019-02-14 09:42:00 66
转载 SpringBoot之MongoTemplate的查询可以怎么耍
学习一个新的数据库,一般怎么下手呢?基本的CURD没跑了,当可以熟练的增、删、改、查一个数据库时,可以说对这个数据库算是入门了,如果需要更进一步的话,就需要了解下数据库的特性,比如索引、事物、锁、分布式支持等本篇博文为mongodb的入门篇,将介绍一下基本的查询操作,在Spring中可以怎么玩原文可参看: 190113-SpringBoot高级篇MongoDB之查询基本使用姿势...
2019-01-13 21:30:00 100
转载 使用Java Socket手撸一个http服务器
原文连接:使用Java Socket手撸一个http服务器作为一个java后端,提供http服务可以说是基本技能之一了,但是你真的了解http协议么?你知道知道如何手撸一个http服务器么?tomcat的底层是怎么支持http服务的呢?大名鼎鼎的Servlet又是什么东西呢,该怎么使用呢?在初学java时,socket编程是逃不掉的一章;虽然在实际业务项目中,使用这个的可能性基本...
2018-12-30 18:05:00 116
转载 180918-JDK之Deflater压缩与Inflater解压
JDK 压缩与解压工具类在实际的应用场景中,特别是对外传输数据时,将原始数据压缩之后丢出去,可以说是非常常见的一个case了,平常倒是没有直接使用JDK原生的压缩工具类,使用Protosutff和Kryo的机会较多,正好在实际的工作场景中遇到了,现在简单的看下使用姿势I. 压缩与解压工具类1. 基本实现主要借助的就是Deflater, Inflater两个工具类,其使用姿势如下...
2018-09-18 20:11:00 165
转载 180815-Spring之RestTemplate中级使用篇
Spring之RestTemplate中级使用篇前面一篇介绍了如何使用RestTemplate发起post和get请求,然而也只能满足一些基本的场景,对于一些特殊的如需要设置请求头,添加认证信息等场景,却没有提及可以怎么做,这一篇则相当于进阶版,将主要介绍get/post请求如何携带 headerpost传文件可以怎么玩, post提交json串怎么处理exchange方法的...
2018-08-15 20:14:00 88
转载 180807-Quick-Task 动态脚本支持框架之Groovy脚本加载执行
Quick-Task 动态脚本支持框架之Groovy脚本加载执行上一篇简答说了如何判断有任务动态添加、删除或更新,归于一点就是监听文件的变化,判断目录下的Groovy文件是否有新增删除和改变,从而判定是否有任务的变更;接下来的问题就比较明显了,当任务变更之后,就需要重新加载任务了,即如何动态的编译并执行Groovy文件呢?相关系列博文:180628-Quick-Task 动态...
2018-08-07 22:14:00 65
转载 180801-Spring之定时任务基本使用篇
文章链接:https://liuyueyi.github.io/hexblog/2018/08/01/180801-Spring之定时任务基本使用篇/Spring之定时任务基本使用篇spring-boot项目中,想添加一个定时任务,可以怎么办?不管什么项目,都是可以直接用JDK原生的定时任务来实现借助@Scheduled注解来使用本篇博文则主要集中在在SpringBoot...
2018-08-04 21:54:00 79
转载 180804-Spring之动态注册bean
Spring之动态注册bean什么场景下,需要主动向Spring容器注册bean呢?如我之前做个的一个支持扫表的基础平台,使用者只需要添加基础配置 + Groovy任务,就可以丢到这个平台上面来运行了,而这个基础平台是一直都在运行的,所以在新来任务时,最直观需要注册的就是 DataSource 数据源这个bean了,那么可以怎么玩?I. 主动注册Bean支持借助BeanDefin...
2018-08-04 21:53:00 65
转载 180803-Spring定时任务高级使用篇
Spring定时任务高级使用篇前面一篇博文 《Spring之定时任务基本使用篇》 介绍了Spring环境下,定时任务的简单使用姿势,也留了一些问题,这一篇则希望能针对这些问题给个答案I. 定时任务进阶篇1. 问题小结前面一篇博文,抛出了下面的几个问题,接下来则围绕问题进行分析一个项目中有多个定时任务时,他们是并行执行的还是串行执行的?如果默认是串行的那么有相同的cro...
2018-08-03 20:13:00 58
转载 180730-Spring之RequestBody的使用姿势小结
Spring之RequestBody的使用姿势小结SpringMVC中处理请求参数有好几种不同的方式,如我们常见的下面几种根据 HttpServletRequest 对象获取根据 @PathVariable 注解获取url参数根据 @RequestParam 注解获取请求参数根据Bean的方式获取请求参数根据 @ModelAttribute 注解获取请求参数对上面几种...
2018-07-30 20:14:00 118
转载 180729-Quick-Task 动态脚本支持框架之任务动态加载
Quick-Task 动态脚本支持框架之任务动态加载前面几篇博文分别介绍了整个项目的基本架构,使用说明,以及整体框架的设计与实现初稿,接下来则进入更细节的实现篇,将整个工程中核心实现捞出来,从为什么这么设计到最终的实现给予说明相关系列博文:180702-QuickTask动态脚本支持框架整体介绍篇180719-Quick-Task 动态脚本支持框架之使用介绍篇180723-...
2018-07-29 17:34:00 70
转载 180727-时序数据库InfluxDB之备份和恢复策略
influxdb 备份与恢复参考: influxdb backup and restore环境:influxdb v1.6.0使用influx自动的控制台进行I. 备份备份命令influxd backup [ -database <db_name> ] --> 指定需要备份的数据库名 [ -portable ] ...
2018-07-27 18:50:00 68
转载 180726-InfluxDB基本概念小结
InfluxDB基本概念小结InfluxDB作为时序数据库,与传统的关系型数据库相比而言,还是有一些区别的,下面尽量以简单明了的方式介绍下相关的术语概念I. 基本概念mysqlinfluxdb说明databasedatabase数据库tablemeasurement类似mysql中表的概念recordtag + field + time...
2018-07-26 21:24:00 75
转载 180725-InfluxDB-v1.6.0安装和简单使用小结
InfluxDB安装和简单使用小结InfluxDB是一个时序性数据库,因为工作需求,安装后使用测试下是否支持大数据下的业务场景说明:安装最新版本 v1.6.0集群版本要收费,单机版本免费内部集成的web控制台被ko掉了I. 安装直接到官网,查询对应的下载安装方式Installing InfluxDB OSS安装方式SHA256: fa118d657151b6...
2018-07-25 19:03:00 63
转载 180724-统计JVM进程中线程数两种方式小记
I. 统计进程中的线程数相关系列博文推荐:180711-JVM定位分析CPU性能消耗180704-JDK常用监控参数jvm调优的工具介绍1. proc查询/proc 目录以可读文本文件形式输出,提供现有进程和系统硬件相关的信息如 CPU、中断、内存、磁盘等等查看状态命令cat /proc/进程号/status其中对应的线程数为 Threads: 367 这一行另...
2018-07-24 20:26:00 147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人