Spring专栏
文章平均质量分 90
啊杰eboy
每天进步一点点~
展开
-
从源码角度深刻理解Spring AOP
今天总结的是Spring 的AOP原理。本文不讲使用,只讲原理!这里贴笔者收藏夹里两篇很不错的关于AOP的文章:1、springboot aop的execution 表达式详解2、【漫画】AOP 面试造火箭事件始末好了,Talk is cheap. Show you the code。AOP的入口在哪我们回忆一下,我们写切面时,要把它定义为spring的bean。基于这个切面bean,做了代理增强。透过这句话你想到了什么?如果你熟悉Spring Ioc的话,bean 意味着往ioc容器靠,对bea原创 2021-04-20 17:12:58 · 214 阅读 · 1 评论 -
动态依赖注入组件
这篇文章主要介绍笔者一个动态依赖注入组件。具体介绍请前往github查看,这里不再过多重复赘述。本文主要以一个实际例子来演示其强大特性。github 源码:动态依赖注入组件这里贴一下组件的原理图:需求背景在大促等高峰流量场景下,我们为了能在大促期间抗住高峰流量,我们往往会给服务加机子,或者提升配置来提高服务的服务能力。在大促后,回收机子,减少资源耗费。这是常规操作。但在代码优化里,我们也往往会在大促期间针对大促的流量高峰特点,定制特定服务接口实现来提供服务,待大促后,切换为常规服务接口实现。原创 2021-04-12 17:22:28 · 417 阅读 · 0 评论 -
FactoryBean能怎么用呢
读者们应该知道BeanFactory。它是Spring Ioc容器的底层定义。FactoryBean这家伙跟它长得很像,二者的区别也是面试中面试官比较喜欢问的。下面我贴一下我的关于这二者区别的学习笔记。从概念上理解不难,但是这个FactoryBean该怎么玩呢?笔者在spring源码阅读过程中发现,有好多好多的它的实现类。可见它的地位不同一般。接下里以笔者实际自身项目的例子来演示。需求背景:有个接口服务有一个稳定版本,经过了线上的历次磨炼。最近给这个服务增加了另外一个版本实现–增强版本。性能更猛,特性原创 2021-04-08 15:06:54 · 450 阅读 · 0 评论 -
异步中异常那点事
我接触异步概念最早的时候是在大学学习前端中,是一个很老的技术叫Ajax。异步编程很重要!很重要!很重要!在接口性能优化中我常用“sql优化、业务优化、算法优化”三把斧。其中“业务优化”中有“是否有可以异步进行的”这么一小则。今天的主题我们来看看Spring中相关异步中异常的那点事。本文不是异步入门,默认读者有初步的异步知识。还不懂异步的读者请先网上查找相关资料先了解。异步方法有两种形式:无返回值:void有返回值:可以声明常规的java.util.concurrent.Future返回类型,还原创 2021-04-06 15:39:58 · 3263 阅读 · 0 评论 -
LoadTimeWeaving实现AOP
LoadTimeWeaving技术还是比较偏陌生的,博主也是在源码学习中,发现了它,关于它的资料也不多。Spring 5 文档中只有这么少少一段介绍。主要参考这位博主:https://blog.csdn.net/weixin_34279061/article/details/93034171LoadTimeWeaving字面意义上看去就是加载期织入。看到织入,我们会联想到AOP,想到AOP,我们肯定会立马想到老生常谈的动态代理。其实AOP不止动态代理这么一种实现,不要因为我们用惯了动态代理就把这二原创 2021-03-31 17:41:17 · 452 阅读 · 3 评论 -
自研框架之自定义注解标注的Bean交由Spring管理
开篇前,我给此文起个小标题(受老钱的《Redis深度历险》有感起的)----自研框架中那颗最核心的螺丝。在注解驱动编程模型下,自定义注解永远避不开;在Java领域中,同样离不开Spring。相信大家都对Dubbo的@Service(高版本已变为@DubboService)、@Reference(高版本已变为@DubboReference)以及Mybatis的@Mapper注解等有所了解。但是有没有深入想过他们区区一个普通注解是怎么让spring接管这些注解所标记的Bean呢?在注解模式下,纳入Sprin原创 2021-03-26 17:14:22 · 1211 阅读 · 0 评论