
框架源码
文章平均质量分 77
spring源码解析,ioc、Dependency Injection、AOP相关
dzend
这个作者很懒,什么都没留下…
展开
-
Spring底层核心原理
Spring在基于某个生成Bean的过程中,需要利用该类的构造方法来实例化得到一个对象,但是如果一个类存在多个构造方法,Spring会使用哪个呢?需要重视的是,如果Spring选择了一个有参的构造方法,Spring在调用这个有参构造方法时,需要传入参数,那这么个参数是怎么来的呢?Spring会根据入参的类型和入参的名字去Spring中找Bean对象(以单例Bean为例,Spring会从单例池那个Map中去找)原创 2025-01-02 09:23:31 · 930 阅读 · 0 评论 -
spring自动加载过程
对于符合条件的类,Spring 通过 BeanDefinition(Bean 的元信息描述类)将其注册到 BeanDefinitionRegistry。如果 Bean 使用了 AOP 或其他增强机制(如事务管理、缓存),Spring 会为 Bean 创建代理对象(如 CGLIB 或 JDK 动态代理)。容器根据 BeanDefinition 创建 Bean 实例(单例 Bean 在容器初始化时创建,其他作用域的 Bean 在需要时创建)。通过配置类中的 @ComponentScan 或 XML 中的。原创 2025-01-02 09:22:42 · 483 阅读 · 0 评论 -
Spring整合Tomcat底层源码解析
通过本文的介绍和源码分析,我们对Spring与Tomcat的整合有了更深入的了解。希望读者能够通过本文掌握Spring和Tomcat的整合技术,并在实际应用中加以运用。以上就是本文的技术bolg内容,希望对读者有所帮助。原创 2024-05-19 23:03:46 · 575 阅读 · 0 评论 -
Spring事务深度解析
事务是指一组数据库操作,这些操作要么全部成功执行,要么全部回滚。在关系型数据库中,事务具有ACID属性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation )和持久性(Durability)。Spring框架提供了对这些属性的支持,使得开发人员能够以一种简单和一致的方式管理事务。Spring事务管理是一个非常重要的技术,它能够帮助开发人员处理数据库操作的一致性和并发性问题。本文对Spring事务的原理和使用方法进行了深入解析,希望能够对读者有所帮助。原创 2024-05-13 23:17:50 · 945 阅读 · 0 评论 -
Spring生命周期深度解析
Spring框架的生命周期是一个非常重要的概念,对于理解Spring框架的工作原理和使用方式都有着重要的意义。本文对Spring Bean的生命周期和Spring容器的生命周期进行了深度解析, 希望能够帮助读者更好地理解和应用Spring框架。更多关于Spring生命周期的详细信息,请参考官方文档或相关的技术书籍。原创 2024-05-13 23:15:55 · 1124 阅读 · 0 评论 -
Spring底层核心原理解析
Spring框架是一个强大而灵活的Java框架,它的核心原理是基于控制反转和面向切面编程的思想。通过使用Spring框架,开发人员可以实现对象之间的解耦、提高代码的可维护性和可重用性,以及简化事务管理等工作。掌握Spring底层核心原理对于成为一名优秀的Java工程师来说是非常重要的。原创 2024-05-12 09:15:40 · 527 阅读 · 0 评论 -
Spring之Bean生命周期源码解析
通过对Spring框架中Bean的生命周期源码的解析,我们可以更好地理解Spring框架的工作原理,并且能够在实际开发中更好地利用Spring的特性。在实际开发中,我们可以通过自定义BeanPostProcessor接口的实现类,来对Bean的生命周期进行扩展和定制。这样可以更好地满足业务需求,并且提高代码的可维护性和可扩展性。希望本文对读者理解Spring框架中Bean的生命周期有所帮助,同时也希望读者能够深入学习和研究Spring框架的源码,提升自己的技术水平。原创 2024-05-12 09:13:38 · 724 阅读 · 1 评论 -
Spring IOC容器加载流程原理源码深度剖析
Spring IOC容器是Spring框架的核心,它负责管理和组织应用程序中的对象。通过深入剖析Spring IOC容器的加载流程原理,我们可以更好地理解Spring框架的工作原理,并能够更好地使用和开发Spring应用程序。以上就是对Spring IOC容器加载流程原理源码深度剖析的技术博客,希望对读者有所帮助。原创 2024-05-11 23:18:07 · 670 阅读 · 0 评论 -
Spring之推断构造方法源码解析
通过本文的介绍,我们了解了Spring框架中推断构造方法的原理和源码实现。推断构造方法是一种方便的依赖注入方式,可以根据参数类型自动选择合适的构造方法进行注入。掌握了推断构造方法的使用方法,可以更好地使用Spring框架进行开发。原创 2024-05-11 23:14:50 · 462 阅读 · 0 评论 -
Spring之Bean生命周期源码解析
在Spring框架中,Bean的生命周期是非常重要的,它涉及到Bean的创建、初始化、销毁等过程。通过对Spring之Bean生命周期源码的解析,我们可以更好地理解Spring容器是如何管理Bean的生命周期的。原创 2024-05-08 23:31:03 · 1052 阅读 · 1 评论 -
手撕spring框架(5)
继承BeanPostProcessor接口,并实现在初始后给属性赋值。原创 2024-05-05 07:30:55 · 284 阅读 · 1 评论 -
手撕spring框架(4)
BeanNameAware接口在spring中是一个回调接口,它提供了一个用于设置Bean名称的方法。当一个Bean实现了BeanNameWaare接口时,在该Bean实例被实例化后,Spring容器会调用setBeanName方法,并将该Bean在Spring容器中的名称作为参数传递过去。原创 2024-05-02 21:38:11 · 393 阅读 · 2 评论 -
spring中BeanNameAware 接口详解
通过实现 BeanNameAware 接口,Bean 可以获取自己在 Spring 容器中的名称,从而可以在程序中使用该名称进行一些操作,扩展 Spring 容器的功能,与其他 Bean 进行交互等。在实际开发中,可以根据具体的需求来灵活应用 BeanNameAware 接口,提高代码的可维护性和扩展性。原创 2024-05-02 21:01:18 · 1029 阅读 · 0 评论 -
手撕spring框架(3)
在Spring框架中,BeanPostProcessor是一个接口,它允许在Spring容器实例化bean之后和调用bean的初始化方法之前对bean进行自定义处理。BeanPostProcessor接口定义了两个方法:postProcessBeforeInitialization和postProcessAfterInitialization。通过实现这两个方法,我们可以在bean初始化前后做一些额外的操作,比如修改bean的属性值、添加额外的逻辑等。原创 2024-05-01 23:50:22 · 792 阅读 · 2 评论 -
Spring中依赖注入原理解析
依赖注入是Spring框架的核心功能之一,通过依赖注入可以实现组件之间的解耦,使得代码更加灵活和可维护。在Spring中,依赖注入是通过容器来实现的,容器负责管理组件之间的依赖关系,将依赖关系注入到组件中。依赖注入的原理主要是通过反射和动态代理来实现的,通过这两种技术,Spring可以实现自动注入依赖对象,从而实现依赖注入的功能。希望本文对大家理解Spring中的依赖注入原理有所帮助,欢迎大家多多交流和探讨。原创 2024-05-01 22:34:48 · 602 阅读 · 0 评论 -
Spring中AOP原理
AOP(Aspect-Oriented Programming,面向切面编程)是一种编程范式,它通过在程序运行时动态地将代码切入到类的方法或者对象的属性中,从而实现一种非侵入式的代码重用和扩展的技术。在Spring框架中,AOP是一个重要的特性,它可以帮助我们实现诸如日志记录、事务管理、性能监控等横切关注点的功能。Spring中的AOP是一种非常强大和灵活的技术,它可以帮助我们实现诸如日志记录、事务管理、权限控制、性能监控等横切关注点的功能。原创 2024-05-01 22:33:16 · 827 阅读 · 0 评论 -
手撕spring框架(2)
spring中的依赖注入的模拟实现原创 2024-05-01 07:31:04 · 609 阅读 · 0 评论 -
手撕spring框架(1)
相关系列在以上详细讲解了spring底层核心原理,今天我们就来手写一个spring框架。主流程是:1、编写启动类2、依据ComponentScan设置的value属性进行扫描路径下的文件3、根据扫描得到的文件,判断是否加了Component注解,如果加了,则添加到beanDefinitionMap4、编写DzendApplicationContext中的getBean方法,判断是单例bean还是原型bean,单例bean则到singletonObjects中去获取,如果为null,则创建;原创 2024-05-01 06:59:58 · 954 阅读 · 2 评论 -
java中spring底层核心原理解析(2)
spring在基于某个类生成bean的过程中,需要利用该学业有成的构造方法来实例化得到一个对象,但是如果一个类存在多个构造方法,spring会使用哪个呢?spring的判断逻辑如下:1、如果一个类只存在一个构造方法,不管该构造方法是无参构造方法,还是有参构造方法,spring都会调用这个方法2、当一个类存在多个构造方法a、这些构造方法中,存在一个无参的构造方法,那么spring就会用这个无参的构造方法b、这些构造方法中,不存在一个无参的构造方法,那么spring就会报错。原创 2024-04-22 23:40:09 · 744 阅读 · 0 评论 -
java中spring底层核心原理解析(1)
Bean对象创建出来后:1、如果当前Bean是单例Bean,那么会把该Bean对象存一个Map,Map的key为beanName,value为Bean对象。这样下次getBean时就可以直接从Map中拿到对应的Beand对象了。2、如果当前Bean是原理的Bean,那后续没有其它动作,不会存入一个Map,下次getBean时会再次执行上述创建过程,得到一个新的 Bean对象。原创 2024-04-22 23:13:34 · 2324 阅读 · 0 评论