【WEB系列】参数校验Validation

业务开发的小伙伴总有那么几个无法逃避的点,如大段if/else,接口的参数校验等。接下来将介绍几种使用Validation-Api的方式,来实现参数校验,让我们的业务代码更简洁

查看更多

分享到

【基础系列】SpEL语法扫盲与查询手册

Spring表达式语言简称为SpEL,一种类似Ognl的对象图导航语言(对于ognl不熟悉的同学可以参考一下: Ognl系列博文

SeEL为Spring提供了丰富的想象空间,除了一些基本的表达式操作之外,还支持

  • 访问bean对象
  • 调用方法,访问(修改)类(对象)属性
  • 计算表达式
  • 正则匹配

查看更多

分享到

【SpringCloud系列】Eureka注册中心初体验

在SpringCloud微服务体系中,有几个比较重要的组件,如注册中心,配置中心,网关,安全、负载均衡、监控等等,接下来我们将来看一下这些常用的组件有什么用,在微服务架构下的该怎么用。

本文为为第一篇,注册中心Eureka的使用说明

查看更多

分享到

【基础系列】实现一个自定义配置加载器(应用篇)

Spring中提供了@Value注解,用来绑定配置,可以实现从配置文件中,读取对应的配置并赋值给成员变量;某些时候,我们的配置可能并不是在配置文件中,如存在db/redis/其他文件/第三方配置服务,本文将手把手教你实现一个自定义的配置加载器,并支持@Value的使用姿势

查看更多

分享到

【WEB系列】WebFlux之初体验

Spring5就引入了Webflux,基于响应式编程的web框架,号称相比较于传统的SpringMVC性能更加(当然我也没测过,官方以及很多用过的小伙伴都持有这个观点),近年来响应式编程越来越主流了,作为一个紧跟时代潮流的小伙,有必要深入学习一下了

本篇作为Webflux系列教程的开篇,一个hello world的体验版

查看更多

分享到

【基础系列】实现一个简单的分布式定时任务(应用篇)

在SpringBoot中,想使用定时器比较简单,一个注解@Scheduled配合上cron表达式即可支持各种定时任务了;

单机任务还是比较简单的,但是当我们的服务有多个实例在运行时,如果只希望一个实例上的定时任务执行,可以怎么出了呢?

查看更多

分享到

【DB系列】Redis之管道Pipelined使用姿势

redis管道技术,可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应,这种技术可以很方便的支持我们的批量请求,下面简单介绍下如何使用RedisTemplate来使用管道

查看更多

分享到

【DB系列】Mybatis-Plus代码自动生成

一个简单的实例工程,介绍利用mybatis-plus的代码自动生成插件,根据表结构来生成对应的类和xml配置文件

查看更多

分享到

【WEB系列】徒手撸一个扫码登录示例工程(应用篇)

不知道是不是微信的原因,现在出现扫码登录的场景越来越多了,作为一个有追求、有理想新四好码农,当然得紧跟时代的潮流,得徒手撸一个以儆效尤

本篇示例工程,主要用到以下技术栈

  • qrcode-plugin:开源二维码生成工具包,项目链接: https://github.com/liuyueyi/quick-media
  • SpringBoot:项目基本环境
  • thymeleaf:页面渲染引擎
  • SSE/异步请求:服务端推送事件
  • js: 原生js的基本操作

查看更多

分享到

【WEB系列】SSE服务器发送事件详解

SSE全称Server Sent Event,直译一下就是服务器发送事件,一般的项目开发中,用到的机会不多,可能很多小伙伴不太清楚这个东西,到底是干啥的,有啥用

本文主要知识点如下:

  • SSE扫盲,应用场景分析
  • 借助异步请求实现sse功能,加深概念理解
  • 使用SseEmitter实现一个简单的推送示例

查看更多

分享到

【搜索系列】Solr身份认证与授权更新异常解决方案

之前介绍solr的教程中,solr没有开启权限校验,所有的操作都是无需鉴权;当时提到,如果solr开启了权限校验,改一下solr的host,带上用户名/密码即可,然而真实情况却并不太一样,查询ok,涉及到修改的操作,则会抛异常

本文将带你了解一下,这到底是个什么鬼畜现象

查看更多

分享到

【WEB系列】异步请求知识点与使用姿势小结

在Servlet3.0就引入了异步请求的支持,但是在实际的业务开发中,可能用过这个特性的童鞋并不多?

本篇博文作为异步请求的扫盲和使用教程,将包含以下知识点

  • 什么是异步请求,有什么特点,适用场景
  • 四种使用姿势:
    • AsyncContext方式
    • Callable
    • WebAsyncTask
    • DeferredResult

查看更多

分享到