
源码专场
文章平均质量分 96
此林,专注于Java、Spring框架底层源码阅读与分享
老朋友此林
老朋友此林,后端程序员一枚,专注于java后端技术分享。
展开
-
进阶版:深入浅出 Spring AOP底层原理分析(附自定义注解案例)(二)更新已完结
以上就是Spring AOP源码第一部分的内容,总结一下,AnnotationAwareAspectJAutoProxyCreator这个类负责扫描你的项目,找到所有带有 @Aspect 注解的类,根据目标对象是否实现了接口选择用JDK Proxy还是CGLIB生成代理对象。3. 检查 earlyProxyReferences 中是否已经存在该 bean 的早期引用,如果存在且不等于当前 bean,则调用 wrapIfNecessary 方法来包装 bean,然后返回代理后的Bean。原创 2024-10-24 22:11:55 · 1463 阅读 · 0 评论 -
深入浅出:SpringBoot启动流程源码分析 (包含Spring IOC容器创建、自动配置时机、内置tomcat启动原理)
的值,这个值是一个全类名数组,这些类实现了 ApplicationContextInitializer 接口,用于在 ApplicationContext 初始化之前进行一些自定义的初始化操作。的值,这个值也是一个全类名数组,这些类实现了 ApplicationListener 接口,用于监听 Spring 应用上下文中的事件。它们也是需要自动装配的类。今天来深入底层讲一讲SpringBoot是如何启动的,也就是我们单击运行SpringBoot启动类,它底层发生了什么?Hello,大家好,我是此林。原创 2024-10-29 12:08:04 · 1059 阅读 · 0 评论 -
小白版:深入浅出 Spring AOP底层原理分析(附自定义注解案例)
Spring 的通知类型包括:@Before前置通知,@After后置通知,@AfterReturning返回通知, @Around环绕通知,@AfterThrowing异常通知。可以看出,Spring AOP 的底层实现非常优雅,依赖于动态代理和责任链模式,使用代理类拦截方法调用,再通过 ReflectiveMethodInvocation 来管理增强逻辑的执行顺序。JDK 动态代理是基于接口的,它会创建一个实现目标接口的代理类,所有方法调用都会委托给代理类的 invoke 方法。原创 2024-10-22 22:52:55 · 1179 阅读 · 0 评论 -
SpringBoot自动配置原理:底层源码分析
而SpringBoot 则使用默认的配置帮我们自动装配类,减少了大量繁琐重复的细节,这也就是为什么SpringBoot “约定大于配置”的原因了。mybatis-spring-boot-starter 和 pagehelper-spring-boot-starter,并且在yml文件里手动配置了Bean,而这几个配置类是默认没有的。这使得自动配置类的加载时机在手动配置类被解析之后、Bean 定义被加载之前。这样做的目的是优先解析手动配置类,因为有时候我们可能并不想使用默认的自动配置类,所以手动配置重写。原创 2024-10-26 22:56:06 · 1177 阅读 · 0 评论