首页 > 编程语言 >百万架构师第十六课:源码分析:Spring 源码分析:手写SpringAOP核心原理|JavaGuide

百万架构师第十六课:源码分析:Spring 源码分析:手写SpringAOP核心原理|JavaGuide

时间:2025-01-12 18:29:31浏览次数:3  
标签:DI 对象 Spring 代理 JavaGuide 源码 AOP IOC

已完成
  • Spring IOC
  • Spring DI
  • Spring MVC
继续完善:

Spring AOP 的功能,基于 Spring IOC 和 DI 去完成

未完成: Spring AOP、Spring Transaction、Spring JDBC、自己手写 ORM 框架。

​ Spring IOC 入口,DispatcherServlet,通过 DispatcherServlet 启动一个 ApplicationContext 容器,由 ApplicationContext 启动一个 IOC 的操作,通过 DarianBeanDefinitionReader 读进来,变成一个 DarianBeanDefinition,有一个 DI 过程,有一个依赖注入,完成之后,会把所有的对象封装成 BeanWrapper,再把 BeanWrapper 保存在容器中。DI 是从一个 getBean 开始的。 IOC 是从 refresh() 开始的。

​ 所有的对象在 IOC 中都有一个代理的过程,在 Spring 中真实的对象,我们基本上是拿不到的。我们会有一个 AOP 的过程,我们代理的过程主要是由一个掌控力,代理之后,对象都是由 Spring 去掌控了,而不是最原始的对象了。我们 Spring 只是为了帮你保存下来最原始的对象,不会做任何更改,我们 Spring 操作的都是被代理过的对象。

​ BeanWrapper中,我们保存了最原始的对象和代理后的对象。

​ Spring 会根据你一个目标接口,也就是目标的一个类,有没有实现接口。Java 中不能支持多实现的。如果你实现了接口,他就会选择 JDK, 如果没有实现,他就会选择 Cglib。它是有策略的。

<aop:pointcut expression="execution(* com.gupaoedu.vip.aop.service..*(..))" id="simplePointcut"/>

使用的时候要调代理对象,但是判断的时候要调原生对象。

来源于: https://javaguide.net

微信公众号:不止极客

标签:DI,对象,Spring,代理,JavaGuide,源码,AOP,IOC
From: https://blog.csdn.net/shengtianbanzi_/article/details/145086530

相关文章

  • 一个非常实用的Win系统瘦身项目,轻量好用,能去除预装应用程序,还能禁用那些偷偷摸摸收集
    Win经常我们都经常用,但系统里总是预装了一些我们可能并不需要的应用程序。这些应用不仅占用了宝贵的存储空间,还可能拖慢了我们的电脑速度。特别是Windows11,一些花里胡哨的功能和后台服务,让我们的电脑变得不那么“清爽”。今天给大家介绍一个非常实用的Win系统瘦身项目-Win11......
  • Java面试 —— SpringBoot
    什么是SpringBootSpringBoot是一个开源的Java框架,用于简化Spring应用程序的开发过程,减省了繁重的配置文件,提供了各种启动器,开发者能快速上手SpringBoot的优点、自动配置:根据项目的依赖关系自动配置Spring框架内嵌服务器:内嵌Tomcat或Jetty、Undertow等Servlet......
  • springsecurity认证总结
    SpringSecurity登录认证整体流程以下是SpringSecurity登录认证流程的完整步骤,包括所有核心组件的参与和它们的作用:1.用户请求登录用户通过浏览器发送登录请求,通常为POST/login,并在请求体中携带用户名和密码。请求会被SpringSecurity拦截器链中的过滤器捕获,默认......
  • asp毕业设计下载(全套源码+配套论文)——基于asp+access的实验室设备管理系统设计与实现
    基于asp+access的实验室设备管理系统设计与实现(毕业论文+程序源码)大家好,今天给大家介绍基于asp+access的实验室设备管理系统设计与实现,更多精选毕业设计项目实例见文末哦。文章目录:基于asp+access的实验室设备管理系统设计与实现(毕业论文+程序源码)1、项目简介2、资源......
  • asp毕业设计下载(全套源码+配套论文)——基于asp+access的商品销售网站设计与实现
    基于asp+access的商品销售网设计与实现(毕业论文+程序源码)大家好,今天给大家介绍基于asp+access的商品销售网设计与实现,更多精选毕业设计项目实例见文末哦。文章目录:基于asp+access的商品销售网设计与实现(毕业论文+程序源码)1、项目简介2、资源详情3、关键词:4、资源下载......
  • Spring-IoC容器
    Spring-IoC容器SpringIoC容器又称为Spring容器,是Spring架构的核心组件,它负责管理应用程序中对象(通常称为bean,bean是IoC容器中的对象实例)的创建、配置、生命周期和依赖关系。IoC容器的基本概念IoC容器又称为容器,是一种设计模式,用于管理应用程序中对象的创建、配置、生命周......
  • 基于SSM的水果销售网站【附源码+文档】
    ......
  • 《JAVA基于SpringBoot的在线拍卖系统》毕业设计项目
    大家好我是蓝天,混迹在java圈的辛苦码农。今天要和大家聊的是一款《JAVA基于SpringBoot的在线拍卖系统》毕业设计项目。项目源码以及部署相关请联系蓝天,文末附上联系信息。......
  • flask框架台球厅管理系统毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于台球厅管理系统的研究,现有研究主要以大型商业台球厅管理为主,专门针对校园台球厅管理系统的研究较少。在已有的台球厅管理系统研究......
  • 第三十三章 Spring之梦开始的地方——MVC
    Spring源码阅读目录第一部分——IOC篇第一章Spring之最熟悉的陌生人——IOC第二章Spring之假如让你来写IOC容器——加载资源篇第三章Spring之假如让你来写IOC容器——解析配置文件篇第四章Spring之假如让你来写IOC容器——XML配置文件篇第五章Spring之假如让你来......