草庐IT

Spring的AOP底层解析

AOP原理的前置知识  (1)动态代理(具体可查看 java的动态代理底层解析)      动态代理在Spring中的应用:        1.AOP        2.注解@Lazy  (2)Spring中针对动态代理的封装      1.ProxyFactory         (1)介绍            基于两种动态代理技术,在Spring中进行了封装,封装出来的类叫做ProxyFactory,表示是创建代理对象的一个工厂,使用起来会更加方便。        (2)简单使用            通过ProxyFactory,我们可以不再关系到底是用cglib还是jdk动态代理了,

Spring的AOP底层解析

AOP原理的前置知识  (1)动态代理(具体可查看 java的动态代理底层解析)      动态代理在Spring中的应用:        1.AOP        2.注解@Lazy  (2)Spring中针对动态代理的封装      1.ProxyFactory         (1)介绍            基于两种动态代理技术,在Spring中进行了封装,封装出来的类叫做ProxyFactory,表示是创建代理对象的一个工厂,使用起来会更加方便。        (2)简单使用            通过ProxyFactory,我们可以不再关系到底是用cglib还是jdk动态代理了,

SpringBoot使用自定义注解+AOP+Redis实现接口限流

为什么要限流系统在设计的时候,我们会有一个系统的预估容量,长时间超过系统能承受的TPS/QPS阈值,系统有可能会被压垮,最终导致整个服务不可用。为了避免这种情况,我们就需要对接口请求进行限流。所以,我们可以通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统或避免不必要的资源浪费,一旦达到限制速率则可以拒绝服务、排队或等待。  限流背景系统有一个获取手机短信验证码的接口,因为是开放接口,所以为了避免用户不断的发送请求获取验证码,防止恶意刷接口的情况发生,于是用最简单的计数器方式做了限流,限制每个IP每分钟只能请求一次,然后其他每个手机号的时间窗口限制则是通过业务逻辑进行判

SpringBoot使用自定义注解+AOP+Redis实现接口限流

为什么要限流系统在设计的时候,我们会有一个系统的预估容量,长时间超过系统能承受的TPS/QPS阈值,系统有可能会被压垮,最终导致整个服务不可用。为了避免这种情况,我们就需要对接口请求进行限流。所以,我们可以通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统或避免不必要的资源浪费,一旦达到限制速率则可以拒绝服务、排队或等待。  限流背景系统有一个获取手机短信验证码的接口,因为是开放接口,所以为了避免用户不断的发送请求获取验证码,防止恶意刷接口的情况发生,于是用最简单的计数器方式做了限流,限制每个IP每分钟只能请求一次,然后其他每个手机号的时间窗口限制则是通过业务逻辑进行判

Spring学习笔记 - 第三章 - AOP与Spring事务

原文地址:Spring学习笔记-第三章-AOP与Spring事务Spring学习笔记全系列传送门:Spring学习笔记-第一章-IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入)Spring学习笔记-第二章-注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring整合MyBatis和Junit案例【本章】Spring学习笔记-第三章-AOP与Spring事务目录1、AOP简介1.1什么是AOP1.2AOP的作用1.3AOP核心概念2、AOP入门案例2.1需求分析2.2思路分析2.3环境准备2.4AOP实现步骤2.5相关知识点3、AOP工作流程与核心概念3

Spring学习笔记 - 第三章 - AOP与Spring事务

原文地址:Spring学习笔记-第三章-AOP与Spring事务Spring学习笔记全系列传送门:Spring学习笔记-第一章-IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入)Spring学习笔记-第二章-注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring整合MyBatis和Junit案例【本章】Spring学习笔记-第三章-AOP与Spring事务目录1、AOP简介1.1什么是AOP1.2AOP的作用1.3AOP核心概念2、AOP入门案例2.1需求分析2.2思路分析2.3环境准备2.4AOP实现步骤2.5相关知识点3、AOP工作流程与核心概念3

AOP实现系统告警

工作群里的消息怕过于安静,又怕过于频繁一、业务背景在开发的过程中会遇到各种各样的开发问题,服务器宕机、网络抖动、代码本身的bug等等。针对代码的bug,我们可以提前预支,通过发送告警信息来警示我们去干预,尽早处理。二、告警的方式1、钉钉告警通过在企业钉钉群,添加群机器人的方式,通过机器人向群内发送报警信息。至于钉钉机器人怎么创建,发送消息的api等等,请参考官方文档2、企业微信告警同样的套路,企业微信也是,在企业微信群中,添加群机器人。通过机器人发送告警信息。具体请看官方文档3、邮件告警与上述不同的是,邮件是发送给个人的,当然也可以是批量发送,只实现了发送文本格式的方式,至于markdown格

AOP实现系统告警

工作群里的消息怕过于安静,又怕过于频繁一、业务背景在开发的过程中会遇到各种各样的开发问题,服务器宕机、网络抖动、代码本身的bug等等。针对代码的bug,我们可以提前预支,通过发送告警信息来警示我们去干预,尽早处理。二、告警的方式1、钉钉告警通过在企业钉钉群,添加群机器人的方式,通过机器人向群内发送报警信息。至于钉钉机器人怎么创建,发送消息的api等等,请参考官方文档2、企业微信告警同样的套路,企业微信也是,在企业微信群中,添加群机器人。通过机器人发送告警信息。具体请看官方文档3、邮件告警与上述不同的是,邮件是发送给个人的,当然也可以是批量发送,只实现了发送文本格式的方式,至于markdown格

Spring(三)——AOP

Spring(三)——AOP概念什么是AOP(1)面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。(2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能AOP底层原理JDK动态代理(有接口情况):创建接口实现类代理对象,增强类的方法CGLIB动态代理(无接口情况):创建子类的代理对象,增强类的方法JDK动态代理1.使用JDK动态代理,使用Proxy类里面的方法创建代理对象调用newProxyInstance方法第一参数,类加载器第二参数,增强方法所在的类,这个类实现的接口,支持多个接口第

Spring(三)——AOP

Spring(三)——AOP概念什么是AOP(1)面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。(2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能AOP底层原理JDK动态代理(有接口情况):创建接口实现类代理对象,增强类的方法CGLIB动态代理(无接口情况):创建子类的代理对象,增强类的方法JDK动态代理1.使用JDK动态代理,使用Proxy类里面的方法创建代理对象调用newProxyInstance方法第一参数,类加载器第二参数,增强方法所在的类,这个类实现的接口,支持多个接口第