0%

原文链接:为何springMVC可获取到方法参数名,而MyBatis却不行?

Spring MVCMyBatis作为当下最为流行的两个框架,大家平时开发中都在用。如果你往深了一步去思考,你应该会有这样的疑问:

  • 在使用Spring MVC的时候,即使不使用注解,只要参数名和请求参数的key对应上了,就能自动完成数值的封装
  • 在使用MyBatis(接口模式)时,接口方法向xml里的SQL语句传参时,必须使用@Param('')指定key值,在SQL中才可以取到。

为什么Spring MVC可以动态取到方法参数名称,而MyBatisMapper接口却无法支持

阅读全文 »

zookeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,主要可用来实现分布式锁、配置维护、分布式消息队列、分布式通知/协调等

阅读全文 »

2020年,在技术上最大的一件事情就是写了一个HTTP客户端工具并推动开源,目前该项目在github上差不多收获了400个star。也许对于各位技术大佬来说,四百star完全微不足道,但对于还是“铁憨憨”的我来说,真的很不容易。在整个过程中,我经历了啃源码时的枯燥、编码设计时的纠结以及开源完成时的喜悦。下面,我们就来详细聊聊这件事。

阅读全文 »

最近为项目引入Swagger来支持自动生成文档功能,发现很多文章仅仅介绍了如何接入以及如何使用的问题。但是对于实际工程实践,并没有给出相应的最佳实践方案。因此,我重新梳理相关内容以及文档,整理出一套最佳实践指南

阅读全文 »

SpringBoot项目直接使用okhttphttpClient或者RestTemplate发起HTTP请求,既繁琐又不方便统一管理。因此,在这里推荐一个适用于SpringBoot项目的轻量级HTTP客户端框架retrofit-spring-boot-starter,使用非常简单方便,同时又提供诸多功能增强。目前项目已经更新至2.2.2版本,并且会持续进行迭代优化。

项目地址:https://github.com/LianjiaTech/retrofit-spring-boot-starter

阅读全文 »

Redis集群通过分片来进行数据共享,并提供复制和故障转移功能。本文将对集群的节点、槽指派、命令执行、重新分片、转向、故障转移等各个方面进行介绍。

阅读全文 »

在实际生产环境中,为了避免单点故障,Redis肯定不会以单机的形式部署,而是会同时部署多个实例。Redis多机数据库的实现主要有三种方式,分别是主从复制、Sentinel和集群,本文主要会详细阐述主从复制的实现原理

阅读全文 »

Redis是一个基于内存中的数据结构存储系统,它所有的数据都存储在内存中。如果发生断电或者宕机,内存中的数据就会丢失。为了防止数据丢失,Redis提供了两种持久化的方案,一种是RDB(Redis DataBase),另一种是AOF(Append Only File)

阅读全文 »

如果要我们设计一个基于Redis统计页面UV的实现方案,可能的实现方案有什么?
大家可能很容易想到的一个方案就是使用Set对象保存每一个访问页面的用户id,因为Set结构天然就支持去重功能,因此使用scard取出的Set集合大小即为页面UV。但是,如果页面UV非常巨大时,使用Set结构存储就会非常浪费空间。
Redis提供了HyperLogLog数据结构来解决这类统计问题,既节省内存占用,又能保证统计结果在可接受的误差之内

阅读全文 »

Redis是一个基于内存中的数据结构存储系统,可以用作数据库、缓存和消息中间件。Redis支持五种常见对象类型:字符串(String)、哈希(Hash)、列表(List)、集合(Set)以及有序集合(Zset),我们在日常工作中也会经常使用它们。知其然,更要知其所以然,本文将会带你读懂这五种常见对象类型的底层数据结构。

阅读全文 »