自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Details Inside Spring

聚沙成塔,集腋成裘

原创 Spring MVC : 控制器方法处理请求的过程分析 - 0. 概述

Spring MVC中,一般来讲,控制器指的是开发人员使用了注解@Controller这样的类,而控制器方法,是控制器类中使用了注解@RequestMapping的那些方法。控制器方法能处理哪些请求,就是通过这些@RequestMapping注解信息来定义的,DispatcherServlet会把...

2019-08-17 10:11:27 216 0

原创 Springboot 应用常见的BeanFactoryPostProcessor清单

名称 来源/引入位置 功能介绍 CachingMetadataReaderFactoryPostProcessor 来源 : SharedMetadataReaderFactoryContextInitializer &am...

2019-01-19 15:17:03 870 0

原创 Spring 常用官方地址

Spring 官方网址 官方文档地址 Spring Framework 官方文档地址 针对多个Spring Framework 版本的列表,内含html版本和pdf版本 Spring Boot 官方文档地址 针对多个Spring Boot 版本的列表,内含html版本和pdf版本 ...

2019-01-16 14:55:56 212 0

原创 Springboot 应用常见的BeanPostProcessor清单

本文基于一个Springboot + JPA + Web MVC 项目列出了其中用到的所有BeanPostProcessor并给出要点功能介绍以备开发人员参考。具体所使用的配置如下 : Springboot 2.1.1 Spring Data JPA 2.1.3 RELEASE Spring ...

2019-01-08 22:57:39 966 1

原创 Spring的各种PostProcessor

简介 : Spring 的几种 PostProcessor Spring 有如下几种PostProcessor : 1. BeanDefinitionRegistryPostProcessor 2. BeanFactoryPostProcessor 3. BeanPostProc...

2017-11-21 18:31:39 1886 0

原创 Spring Context : EventListenerMethodProcessor

1. 概述 EventListenerMethodProcessor 是 Spring 事件机制中非常重要的一个组件。它管理了一组EventListenerFactory组件,用来将应用中每个使用@EventListener注解定义的事件监听方法变成一个ApplicationListener实例...

2020-05-16 20:49:05 46 0

原创 以太坊区块链学习

1. 搭建以太坊私有链-单机2节点 2. 以太坊私有链上发行代币

2020-02-11 11:47:15 70 0

原创 以太坊私有链上发行代币

上一篇文章我们介绍了如何在同一台机器上搭建包括两个节点的以太坊私有链网络。本文我们继续使用该网络,介绍如何在以太坊私有链上发行电子代币,本文使用的以太坊私有链钱包是Ethereum Wallet。 假设有一个山寨需要分两次一共发行1万5千贯山寨币,该山寨币可以在山寨内部各处流通,山寨币的持有者可以...

2020-02-11 11:45:16 234 0

原创 Appium 学习笔记 -- 1. 安装和验证

背景 操作系统 : Windows 10 64位 专业版 node 已经安装 (v.10.16.3) Java 已经安装 (jdk1.8.0_77) 环境变量 JAVA_HOME 已经设置 Android SDK 已经安装 环境变量 ANDROID_HOME 已经设置 安装步骤 1...

2020-01-13 14:05:16 474 0

原创 Spring 任务调度核心概念模型

关于任务调度,Spring 有如下几个核心概念 : Task – 任务 用于表示一个有待执行的任务; 该任务有可能需要被执行一次; 在特定的时间点执行一次; 或者在某个时间点之后再延时特定的时间段之后执行一次; 也有可能需要被反复执行多次; 在特定时间点之后间隔特定的时间段重复执行; ...

2019-12-04 16:41:19 104 0

原创 搭建以太坊私有链-单机2节点

本文使用二级制版本Geth在同一台机器上搭建两个节点的以太坊私有链。操作系统环境 : Windows 10 1. 下载和安装Geth二进制版本 这里参考官方文档 Installation instructions for Windows 1.1 下载Geth二进制版本 下载来源 官方下载...

2019-11-01 15:24:13 474 0

原创 基于Tomcat 的Spring MVC 应用中响应数据压缩原理分析

在一个基于Tomcat的Spring MVC应用中,当我们配置了参数server.compression.enabled=true时,我们会发现,服务端返回给浏览器的js格式的文件被压缩了。这背后的原理是什么呢?我们做个简单的分析。 本文所分析的例子项目如下 : Spring Boot 2.1....

2019-10-22 17:54:19 193 0

原创 Spring Security Web : AbstractAuthenticationTargetUrlRequestHandler

概述 AbstractAuthenticationTargetUrlRequestHandler是Spring Security Web提供的一个抽象类,它抽象了这样一种策略的实现: 认证动作成功时使用一个跳转策略跳转到指定的URL。 该策略实现对应的具体实现方法是 : // Abstra...

2019-10-10 17:04:25 181 0

原创 基于Kotlin的 Spring Boot JPA应用

Kotlin中使用JPA1. 简介2. 依赖3. 编译器插件(JPA插件)4. JPA和Kotlin数据类5. 总结 本文翻译自 Working with Kotlin and JPA 1. 简介 Kotlin的一个重要特征就是跟Java库的互操作性,JPA就是一个这样的Java库。在这篇教程...

2019-09-30 11:08:25 135 0

原创 Spring MVC : HandlerMappingIntrospector

概述 这是一个Spring MVC助手类,用于集合应用所配置的HandlerMapping(url pattern和请求处理handler之间的映射)表,用于获取针对某个请求的如下信息 : getMatchableHandlerMapping(javax.servlet.http.HttpSer...

2019-09-19 15:39:58 367 0

原创 Spring WebFlux 工作原理分析 - 2.应用启动过程--6.WebFlux 自动配置

概述 WebFluxAutoConfiguration是Spring Boot关于Spring WebFlux运行时工作组件的自动配置类。通过WebFluxAutoConfiguration自身以及其引入的内嵌配置类,Spring Boot加载了相应的配置参数,将各个工作组件作为bean注册到容器...

2019-09-19 11:33:48 521 0

原创 Spring WebFlux 工作原理分析文章目录

Spring WebFlux 工作原理分析 - 1.准备例子项目 Spring WebFlux 工作原理分析 - 2.应用启动过程–1.Web环境推断 Spring WebFlux 工作原理分析 - 2.应用启动过程–2.创建应用上下文 Spring WebFlux 工作原理分析 - 2.应用启动...

2019-09-16 17:29:55 227 0

原创 Spring WebFlux 工作原理分析 - 2.应用启动过程--5.启动Web服务器

在本系列的上一篇文章中,我们介绍了Reactive Web服务器NettyWebServer的创建,这一篇文章,我们讲解该Reactive Web服务器是如何启动的。它对应于AnnotationConfigReactiveWebServerApplicationContext基类ReactiveW...

2019-09-16 17:22:20 247 0

原创 Spring WebFlux 工作原理分析 - 2.应用启动过程--4.创建Web服务器

上篇文章我们分析了整个应用上下文的更新过程,但是,我们对AnnotationConfigReactiveWebServerApplicationContext应用上下文中的两个跟当前Web环境紧密相关的两个环节还不是很了解,它们分别是: onRefresh方法在缺省流程逻辑后扩展增加了创建Web...

2019-09-12 11:02:46 128 0

原创 Spring WebFlux 工作原理分析 - 2.应用启动过程--3.更新应用上下文

在该系列上一篇文章中,我们分析了应用上下文准备,创建和初始化的过程,这一篇文章我们来分析应用启动的最后一个主要步骤:SpringApplication#refreshContext,更新应用上下文: // SpringApplication 代码片段 private void refreshCo...

2019-09-11 16:06:25 197 0

原创 Spring WebFlux 工作原理分析 - 2.应用启动过程--2.创建应用上下文

在该系列上一篇文章中,我们分析了应用根据classpath存在的Web环境的特征类的存在性,判断出当前Web环境是WebApplicationType.REACTIVE。这一篇文章,我们主要来分析应用程序上下文ApplicationContext的创建,初始化和准备过程。这一过程,主要体现在类Sp...

2019-09-10 17:47:54 128 0

原创 Spring WebFlux 工作原理分析 - 2.应用启动过程--1.Web环境推断

1. main入口 @SpringBootApplication public class Application { public static void main(String[] args) throws Exception { SpringApplication.r...

2019-09-10 15:14:23 189 0

原创 Spring WebFlux 工作原理分析 - 1.准备例子项目

概述 本系列文章用来分析Spring WebFlux的工作原理,这是第一篇,在这篇文章中,我们参考Spring官方文档构建一个例子项目,用于随后的原理分析。 这里构建例子项目所参考的Spring文档是:Building a Reactive RESTful Web Service。该文档中提到了使...

2019-09-10 11:43:38 259 0

原创 Docker 常用命令笔记

前提准备 宿主机操作系统 Ubuntu 14.04(LTS) Docker version 18.06.3-ce, build d7080c1 常用命令 运行 Docker HelloWorld docker run ubuntu /bin/echo "Hello world&...

2019-09-05 17:56:20 121 0

原创 Spring MVC : 文件上传处理原理

1. 配置MultipartResolver用以解析上传文件数据 开发人员或者框架通过某种方式定义bean MultipartResolver,Spring MVC需要使用它解析上传文件数据。比如对于一个Spring Boot + Spring MVC引用,Spring Boot的自动配置类Mul...

2019-09-03 15:55:20 178 0

原创 Spring MVC : ResourceUrlProviderExposingInterceptor

概述 ResourceUrlProviderExposingInterceptor是Spring MVC的一个HandlerInterceptor,用于向请求添加一个属性,属性名称为ResourceUrlProvider.class.getName(),值是Spring MVC配置定义的一个资源U...

2019-09-03 14:00:25 414 0

原创 Spring MVC : ConversionServiceExposingInterceptor

概述 ConversionServiceExposingInterceptor是Spring MVC的一个HandlerInterceptor,用于向请求添加一个属性,属性名称为ConversionService.class.getName(),值是Spring MVC配置定义的一个类型转换服务。...

2019-09-03 13:42:31 242 0

原创 Spring Boot 自动配置 : ConfigurationPropertiesAutoConfiguration

概述 ConfigurationPropertiesAutoConfiguration是Spring Boot关于处理使用注解@ConfigurationProperties的bean组件的自动配置类。 具体来讲,ConfigurationPropertiesAutoConfiguration引用...

2019-09-02 11:11:37 169 0

原创 Spring Web : 概念模型 HttpEntity

概述 Spring Web使用类HttpEntity包装一个HTTP请求或者响应的以下内容 : 头部和消息体。概念上来讲,可以简单理解成这样 : 1 HttpEntity = n headers + 1 body 从具体实现上来讲,可以理解成这样 : 1 HttpEntity = n HttpHe...

2019-09-02 10:11:50 372 0

原创 Spring Web : FormHttpMessageConverter

概述 FormHttpMessageConverter是Spring Web提供的用于读写一般HTML表单数据的HttpMessageConverter实现类,也可以写multipart数据,但是不能读取multipart数据。 具体来讲,FormHttpMessageConverter 可以 :...

2019-08-30 17:19:20 468 0

原创 Spring 工作原理分析 : 注解@Autowired

容器启动时实例化Spring BeanPostProcessor : AutowiredAnnotationBeanPostProcessor; AutowiredAnnotationBeanPostProcessor在容器实例化每个bean时扫描bean中使用注解@Autowired/@Valu...

2019-08-30 14:21:31 141 0

原创 Spring Web : 注解@ExceptionHandler的工作原理

我们知道,Spring Web注解@ExceptionHandler可以用来指定处理某类异常的控制器方法,从而在这些异常发生时,会有相应的控制器方法来处理此类异常,其定义方式如下 : /** * 此方法定义一个异常处理器,仅仅处理异常 DemoException , 它使用一个视...

2019-08-30 11:40:53 332 0

原创 Spring MVC : 概念模型 RequestToViewNameTranslator

概述 这是Spring MVC定义的一个策略接口,它根据请求对象自身的属性解析出一个逻辑视图名称,通常用在没有针对请求明确指定视图的场景。 RequestToViewNameTranslator被DispatcherServlet使用 : /** * Translate the suppli...

2019-08-30 10:28:49 52 0

原创 Spring MVC : 原理解析 -- 控制器方法中的参数 ServletRequest 值从何而来 ?

我们知道,Spring MVC应用中,当通过如下方式定义一个控制器方法时,参数列表中的ServletRequest request无论放到哪个为止,在方法体内,它都能正确地代表当前请求对象,你有没有想过,这背后的原理是什么呢 ? @Controller public class DemoContr...

2019-08-29 17:36:29 132 0

原创 Spring Transaction : AnnotationTransactionAttributeSource

概述 这是一个TransactionAttributeSource 接口的实现类,用于从类或者方法上事务注解分析相应的事务属性。它读取Spring的注解@Transactional,JTA 1.2+注解@Transactional(位于包javax.transaction),或者EJB 3的注解@...

2019-08-29 16:54:01 72 0

原创 Spring MVC : 控制器方法中获取当前请求对象的用法总结

1. 将请求对象作为当前控制器bean组件的属性注入,在控制器方法中可以操作请求对象 ; 例子 @Controller public class DemoController { @Autowired ServletRequest request; @Reques...

2019-08-28 17:44:58 256 0

原创 Spring MVC : 工具 SimpleMappingExceptionResolver

概述 Spring MVC对HandlerExceptionResolver接口的一个实现,它记录了一个映射关系,映射异常和错误视图名称。调用者使用SimpleMappingExceptionResolver解析一个异常时,首先查看该映射表,如果存在对应的错误视图则使用该错误视图处理该异常;如果没...

2019-08-28 17:22:08 149 0

原创 Spring MVC : 异常处理场景总结

通过Spring MVC 可以通过如下方式对异常进行处理 通过@ExceptionHandler指定某类异常被特定的控制器处理方法处理; 该异常处理控制其处理方法又可以分几种情况 : 不再抛出该异常,自身逻辑处理异常,直接写response对象输出异常信息; 全处理模式 不再抛出该异常,...

2019-08-28 15:43:21 71 0

原创 Spring MVC : 工具 ResponseStatusExceptionResolver

概述 ResponseStatusExceptionResolver是Spring MVC内置实现的一个HandlerExceptionResolver,其主要功能如下 : 如果所发生异常是ResponseStatusException,则从中解析status,reason,然后调用respon...

2019-08-27 15:41:45 69 0

原创 Spring Transaction : TransactionAspectSupport

概述 TransactionAspectSupport 是Spring的事务切面逻辑抽象基类,该类实现了事务切面逻辑,但是自身设计为不能被直接使用,而是作为抽象基类被实现子类使用,应用于声明式事务使用场景。TransactionInterceptor,或者 AspectJ切面类Annotation...

2019-08-27 11:25:26 1132 0

提示
确定要删除当前文章?
取消 删除