随笔分类 -  spring

摘要:本文主要介绍响应式编程访问 Redis,以及 Spring Boot 与 Lettuce 的整合使用。 Lettuce 是可扩展性线程安全的 Redis 客户端,用于同步、异步和响应式使用。如果多个线程避免阻塞和事务性操作(例如 BLPOP 和 MULTI/EXEC),则它们可以共享一个连接。Let 阅读全文
posted @ 2021-08-16 22:30 lzyer 阅读(1420) 评论(0) 推荐(0)
摘要:R2DBC 是 "Reactive Relational Database Connectivity"的简称。 R2DBC 是一个 API 规范的倡议,声明对于访问关系型数据库驱动实现了一些响应式的API。 R2DBC的诞生为了非阻塞的应用栈, 使用很少的线程可以处理大量的并发同时减少硬件资源。大量 阅读全文
posted @ 2021-08-14 17:49 lzyer 阅读(4148) 评论(0) 推荐(0)
摘要:WebSocket 协议简介 WebSocket 协议提供了一种标准化的方式,在客户端和服务端建立在一个TCP 连接之上的全双工,双向通信的协议。 WebSocket 交互开始于 HTTP 请求,使用 HTTP 请求的 header 中的 Upgrade 进行切换到 WebSocket 协议。 HT 阅读全文
posted @ 2021-08-10 22:53 lzyer 阅读(2583) 评论(0) 推荐(0)
摘要:请求参数校验,在实际的应用中很常见,网上的文章大部分提供的使用注解的方式做参数校验。本文主要介绍 Spring Webflux Function Endpoint 使用 Spring Validation 来校验请求的参数。使用上一篇文章的示例来演示。 使用步骤如下: 1.创建校验器 Validat 阅读全文
posted @ 2021-08-07 18:53 lzyer 阅读(1299) 评论(0) 推荐(0)
摘要:我们通过使用 Spring WebFlux 来实现对 Person 对象操作的 RESTful API。 主要有 3 步操作: 实体的定义 实体的相关操作 路由规则的配置 定义 Person 实体 public class Person { private Integer age; private 阅读全文
posted @ 2021-07-28 22:47 lzyer 阅读(399) 评论(0) 推荐(0)
摘要:为什么要创建Spring WebFlux ? 一方面是需要一个非阻塞的web 技术栈使用少量的线程和硬件资源来处理并发。另一方面就是函数式编程。 什么是响应式? 响应式是制围绕响应改变而构建的编程模型。例如,响应I/O事件的网络组件、响应鼠标事件的UI控制器等等。 快速入门 本文我们将学习如何快速构 阅读全文
posted @ 2021-07-27 00:50 lzyer 阅读(651) 评论(0) 推荐(0)
摘要:JdbcTemplate类图 从类继承关系上来看,JdbcTemplate继承了基类JdbcAccessor和接口类JdbcOperation,在基类JdbcAccessor的设计中,对DataSource数据源的管理和配置,在JdbcOperation接口中,定义了通过JDBC操作数据库的基本操作 阅读全文
posted @ 2017-11-23 00:32 lzyer 阅读(665) 评论(0) 推荐(0)
摘要:1.HandlerMapping的配置和设计 在初始化完成时,所有的handlerMapping都已经被加载,handlerMapping存储着HTTP请求对应的映射数据,每一个handlerMapping持有从URL请求到Controller的映射。 这里以SimpleUrlHandlerMapp 阅读全文
posted @ 2017-11-19 18:32 lzyer 阅读(3614) 评论(0) 推荐(2)
摘要:在使用springmvc框架,会在web.xml文件配置一个DispatcherServlet,这正是web容器开始初始化,同时会在建立自己的上下文来持有SpringMVC的bean对象。 先从DispatcherServlet入手,从名字来看,它是一个Servlet。它的定义如下: 它是继承Fra 阅读全文
posted @ 2017-11-18 23:46 lzyer 阅读(8277) 评论(1) 推荐(1)
摘要:Web容器启动过程,主要讲解Servlet和Spring容器结合的内容。 流程图如下: Web容器启动的Root Context是有ContextLoaderListener,一般使用spring,都会在web.xml中配置这个监听器。 下面就从这里入手,看看它是如何启动spring容器。 这个类继 阅读全文
posted @ 2017-11-17 01:40 lzyer 阅读(590) 评论(0) 推荐(0)
摘要:在spring中与通知相关的类有: 以Advice结尾的通知接口 MethodBeforeAdvice AfterReturningAdvice ThrowsAdvice 以Interceptor结尾的拦截器 MethodBeforeAdviceInterceptor AfterReturningA 阅读全文
posted @ 2017-11-15 23:39 lzyer 阅读(1566) 评论(0) 推荐(0)
摘要:IoC容器提供了自动依赖装配的方式,为应用IoC容器提供很大的方便。在自动配置中,不需要显式的去指定Bean属性,只需要配置autowiring属性,IoC容器会根据这个属性配置,使用反射的方式查找属性的类型或者名字,然后基于类型或名字来自动匹配IoC中的Bean,从而完成自动注入的工作。 自动依赖 阅读全文
posted @ 2017-11-12 22:21 lzyer 阅读(1529) 评论(0) 推荐(0)
摘要:1.实现了BeanPostProcessor接口,可先看这个接口 ApplicationContext可以在自动检测BeanPostProcessor bean,在它创建完后可以创建任何的bean。 简单实现自己的一个Processor spring-beans.xml 测试类 运行结果: MyBe 阅读全文
posted @ 2017-10-28 23:47 lzyer 阅读(10781) 评论(0) 推荐(1)
摘要:在spring2.5版本提供了注解的依赖注入功能,可以减少对xml配置。 主要使用的是 测试类 方式一为加载包下带注解的类。方式二是指定某些类。 运行结果: class org.lzyer.test.AnnotationDemoclass org.lzyer.test.AnnotationDemo2 阅读全文
posted @ 2017-10-28 00:32 lzyer 阅读(1037) 评论(0) 推荐(0)
摘要:Spring事件的组件 主要是3个组件: 1.ApplicationEvent 事件 2.ApplicationListener 监听器,对事件进行监听 3.ApplicationEventMulticaster 事件广播器,将publish的事件广播给所有的监听器。 事件 ContextRefre 阅读全文
posted @ 2017-10-25 00:23 lzyer 阅读(508) 评论(0) 推荐(0)
摘要:AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等等,不需要去修改业务相关的代码。 对于这部分内容,同样采用一个简单的例子和源码来说明。 接口 实现类 日志通知 测试类 运行结果: before logging save order after loggin 阅读全文
posted @ 2017-10-15 14:33 lzyer 阅读(272) 评论(0) 推荐(0)
摘要:spring加载配置文件,AbstractApplicationContext类中的refresh方法起着重要的作用。 实例化bean对象,主要的是在 方法。大致的流程图(下部分): (点击查看大图) 下面分析实例化bean对象的源码分析 加载bean对象: 在AbstractBeanFactory 阅读全文
posted @ 2017-10-15 00:21 lzyer 阅读(2421) 评论(0) 推荐(0)
摘要:spring是一个很有名的java开源框架,作为一名javaer还是有必要了解spring的设计原理和机制,beans、core、context作为spring的三个核心组件。而三个组件中最重要的就是beans组件了。 从一个简单实例来查看spring加载配置文件中的bean。 spring-bea 阅读全文
posted @ 2017-10-13 22:45 lzyer 阅读(539) 评论(0) 推荐(0)