spring5源码
文章平均质量分 87
龙小虬
很懒。
展开
-
Spring5源码分析------循环依赖(一)
1.循环依赖 发生在bean的注册过程中,bean A依赖于另一个bean B时,bean B依赖于bean A 代码解释: 这样就是循环依赖。 不理解spring bean的创建请点击查看 那么是怎么产生循环的呢?我们在学习了bean的创建的时候知道,bean对象的实例化完成之后才是进行初始化,在初始化的过程中进行了属性的注入(依赖注入)。在AService中的属性中有着BService对象,所以在注入属性的时候,BService就作为了早期暴露bean(早期暴露指bean不在其他bean中,正常情况是原创 2021-03-05 20:57:51 · 113 阅读 · 1 评论 -
Spring5源码分析-------Aop篇(二)
在我们看五个通知执行源码之前,我们先来了解一下核心问题。SpringAop核心的设计模式为,动态代理模式和责任链设计模式。动态代理前面也提到过,cglib和jdk代理。至于责任链模式才是这一次的重点内容。他关系到我们五个通知为什么会有序的执行。 项目结构: 我们先来模拟一下责任链模式,责任链设计模式核心是递归的思路,但是递归会产生溢出的现象,所以我们需要约束条件,使程序正常运行.在以下程序中,除了更改前置和环绕通知的添加顺序之外,其他的方式均不会导致结果的变化. 此模拟不是完整的AOP五个通知正常顺序模拟原创 2021-02-25 23:46:56 · 76 阅读 · 0 评论 -
Spring5源码分析-------Aop篇(一)
在前面的文章(https://blog.csdn.net/weixin_43911969/article/details/114024729)中提到了@EnableAspectJAutoProxy这个注解,也已经提到过它的核心就是@Import(AspectJAutoProxyRegistrar.class),然而我们SpringAop中最重要的类也是这个。下面我们来查看AOP核心源码 registry.registerBeanDefinition(“org.springframework.aop原创 2021-02-25 15:50:09 · 185 阅读 · 0 评论 -
Spring5源码分析------bean的生命周期(二)
Spring Bean的生命周期 如何判断Bean初始化了 初始化:指的是对象已经创建并且里面所有的set已经全部执行完毕 在@Bean中有着initMethod,destoryMethod属性,他们代表着bean被初始化和销毁 具体用法: UserEntity.java package com.entity; public class UserEntity { public UserEntity(){ System.out.println("UserEntity无参构造.原创 2021-02-23 23:00:02 · 146 阅读 · 0 评论 -
Spring5源码分析------bean的生命周期(一)
1.BeanFactory和ApplicationContext 我们先查看ApplicationContext的类图吧(IDEA快捷键Ctrl+Alt+U) 我们会发现BeanFactory是Application的父类,那么他们两者有什么区别呢 我们先来了解他们的作用 BeanFactory: 是Spring里面最低层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能; ApplicationContext: 应用上下文,继承BeanFactory所有的功能,它是Spring的一各更高原创 2021-02-23 00:37:32 · 137 阅读 · 0 评论 -
Spring5源码分析------基础知识了解(二)
1.@Import的使用 在com.entity下创建UserEntity.java package com.entity; public class UserEntity { } com.config下创建MyConfig.java package com.config; import com.entity.UserEntity; import org.springframework.context.annotation.Configuration; import org.springframewo原创 2021-02-18 16:58:34 · 84 阅读 · 0 评论 -
Spring5源码分析------基础知识了解(一)
1.对于Spring的理解 Spring框架是java应用最广的框架,它的成功来源于理念,它的理念包括ioc和aop(理念:每个bean与bean之间的关系统一交给SpringIOC容器管理)。 Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC 2.Spring与传统对象管理的区别 在传统中,我们使用对象都是通过new xxx()来进行原创 2021-02-17 20:20:08 · 141 阅读 · 0 评论