SpringMVC笔记10—全局异常处理
项目中,可能会抛出多个异常,我们不可以直接将异常的堆栈信息展示给用户,有两个原因: 用户体验不好非常不安全 所以,针对异常,我们可以自定义异常处理,SpringMVC 中,针对全局异常也提供了相应的解…
SpringMVC笔记9—文件上传与下载
SpringMVC 中对文件上传做了封装,我们可以更加方便的实现文件上传。从 Spring3.1 开始,对于文件上传,提供了两个处理器: CommonsMultipartResolverStandar…
SpringMVC笔记8—参数绑定
1.默认支持的参数类型 默认支持的参数类型,就是可以直接写在 @RequestMapping 所注解的方法中的参数类型,一共有四类: HttpServletRequestHttpServletResp…
SpringMVC笔记7—Controller 方法的返回值
1.返回 ModelAndView 如果是前后端不分的开发,大部分情况下,我们返回 ModelAndView,即数据模型+视图: @Controller @RequestMapping("/user"…
SpringMVC笔记6—@RequestMapping
这个注解用来标记一个接口,这算是我们在接口开发中,使用最多的注解之一。 1.请求 URL 标记请求 URL 很简单,只需要在相应的方法上添加该注解即可: @Controller public clas…
SpringMVC笔记5—处理器详解
1.HandlerMapping (PS:处理器即我们平时所见到的 Controller) HandlerMapping ,中文译作处理器映射器,在 SpringMVC 中,系统提供了很多 Handl…
SpringMVC笔记4—DispatcherServl(前端控制器)
1.DispatcherServlet作用 DispatcherServlet 是前端控制器设计模式的实现,提供 Spring Web MVC 的集中访问点,而且负责职责的分派,而且与 Spring …
SpringMVC笔记3—组件介绍
1.DispatcherServlet:前端控制器 用户请求到达前端控制器,它就相当于 mvc 模式中的c,DispatcherServlet 是整个流程控制的中心,相当于是 SpringMVC 的大…
SpringMVC笔记2—HelloWord
接下来,通过一个简单的例子来感受一下 SpringMVC。 1.利用 Maven 创建一个 web 工程。 2.在 pom.xml 文件中,添加 spring-webmvc 的依赖: <depe…
SpringMVC笔记1—简介
1 .Spring Web MVC是什么 Spring Web MVC 是一种基于 Java 的实现了 Web MVC 设计模式的请求驱动类型的轻量级 Web 框架,即使用了 MVC 架构模式的思想,…
Redis笔记—做延迟消息队列
我们平时说到消息队列,一般都是指 RabbitMQ、RocketMQ、ActiveMQ 以及大数据里边的 Kafka, 这些是我们比较常见的消息中间件,也是非常专业的消息中间件,作为专业的中间件,它里…
Redis笔记—分布式锁
分布式锁实现的思路很简单,就是进来一个线程先占位,当别的线程进来操作时,发现已经有人占位 了,就会放弃或者稍后再试。 在 Redis 中,占位一般使用 setnx 指令,先进来的线城先占位,线城的操作…
Lambda最通俗易懂的一篇文章(Java 8)
什么是Lambda? “Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstr…
Redis笔记—连接java客户端(Lettuce)
Lettuce 和 Jedis 的一个比较: Jedis 在实现的过程中是直接连接 Redis 的,在多个线程之间共享一个 Jedis 实例,这是线城不安 全的,如果想在多线程场景下使用 Jedis,…
Redis—Jedis单与JedisCluster群(补充)
1.Jedis的使用(单例) 创建Jedis对象,set方法存储key-value值,get方法获取key对应的值。主要是用于单个redis。 Jedis jedis = new Jedis("192…
Redis笔记—连接 Java 客户端(Jedis)
Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件,必须对Jedis熟悉才能写成漂亮的代码 开启远程连接 Redis 默认是不支持远程连接的,需要手动开启。…
Redis笔记—Hash散列与Zset有序集合
散列 很多时候,散列就像一个微缩版的 redis ,在本文中,小伙伴们对看到的许多散列命令都会有似曾相识的感觉。 HSET / hset HSET 命令可以用来设置 key 指定的哈希集中指定字段的值…
Redis笔记—List列表与Set集合
列表 列表是 Redis 中另外一种数据类型。下面我们来看看列表中一些基本的操作命令。 LPUSH / lpush 将一个或多个值 value 插入到列表 key 的表头,如果有多个 value 值,…
slf4j—Java日志框架
简单回顾门面模式 slf4j是门面模式的典型应用,因此在讲slf4j前,我们先简单回顾一下门面模式, 门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一…
log4j—日志框架使用
什么是日志框架 我们在系统中对于记录日志的需求并不单纯。首先,我们希望日志要能持久化到磁盘,最基本的就是要能够保存到文件中;其次,我们希望在开发和生产环境中记录的日志并不相同,明显开发环境的日志记录会…
Redis—String中BIT相关命令
BIT 相关的命令是指 BITCOUNT/BITFIELD/BITOP/BITPOS/SETBIT/GETBIT 几个命令,灵活使用这几个命令,可以给我们的项目带来很多惊喜。 准备知识 在学习这几个命…
Redis笔记—String
简单的介绍几种常用的方法: APPEND 使用 APPEND 命令时,如果 key 已经存在,则会直接在 value 后追加值,如果 key 不存在,则会先创建一个 value 为空字符串的 key …
Redis笔记—五种数据类型
redis 中的数据都是以 key/value 的形式存储的,五大数据类型主要是指 value 的数据类型 StringListHashSetZset 1.String String 是 Redis …
Redis笔记—安装
什么是 Redis Redis 是一个使用 ANSI C 编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。从 2015 年 6 月开始,Redis 的开发由 Redis Labs 赞助,…
SpringBoot—MockMvc单元测试
什么是Mock 在面向对象的程序设计中,模拟对象(英语:mock object)是以可控的方式模拟真实对象行为的假对象。在编程过程中,通常通过模拟一些输入数据,来验证程序是否达到预期结果。 为什么使用…
Spring—Assert断言测试(旧)(常用方法)
Spring的Assert断言使用 org.springframework.util.Assert断言工具类 方法: 1:notNull(:)  notNull(Object object, Stri…
Spring—RestTemplate几种常见的请求方式
当我们从服务消费端去调用服务提供者的服务的时候,使用了一个很好用的对象,叫做RestTemplate,当时我们只使用了RestTemplate中最简单的一个功能getForEntity发起了一个get…
SpringBoot—单元测试(补充)
这次来介绍下Spring Boot中对单元测试的整合使用,本篇会通过以下4点来介绍,基本满足日常需求: Service层单元测试Controller层单元测试新断言assertThat使用单元测试的回…
Spring—WebApplicationContext介绍
一、ServletContext介绍 javaee标准规定了,servlet容器需要在应用项目启动时,给应用项目初始化一个ServletContext作为公共环境容器存放公共信息,ServletCon…
SpringBoot—单元测试
JUnit是一款优秀的开源Java单元测试框架,也是目前使用率最高最流行的测试框架,开发工具Eclipse和IDEA对JUnit都有很好的支持,JUnit主要用于白盒测试和回归测试。 白盒测试:把测试…