ICode9

精准搜索请尝试: 精确搜索
  • Java: Bean初始化2022-05-03 14:01:02

      @Component(value = "customBeanName") public class CustomComponentBean implements BeanPostProcessor{ @Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException{ System.out.println("

  • 浅尝Spring注解开发_Bean生命周期及执行过程2022-04-30 19:32:08

    Spring注解开发 浅尝Spring注解开发,基于Spring 4.3.12 包含Bean生命周期、自定义初始化方法、Debug BeanPostProcessor执行过程及在Spring底层中的应用 浅尝Spring注解开发_自定义注册组件、属性赋值、自动装配 浅尝Spring注解开发_Bean生命周期及执行过程 Bean生命周期 了解Be

  • springboot 启动慢分析2022-04-11 21:00:45

    JVM参数设置 1. 生成GC日志并网站在线分析 生成gc日志命令 -Xloggc:./gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps 在线分析网站 https://gceasy.io/ 调整过程: 根据GC日志分析得到年轻代GC频繁,没有老年代GC; 调整年轻代大小为堆的1/2,性能并没有优化,反而有了更多消耗

  • Bean生命周期与模板方法2022-04-06 01:33:12

    Bean生命周期与模板方法 本文为学习笔记,目录结构在文末 1、bean 的生命周期 四个生命周期:构造 -> 依赖注入 -> 初始化 ->销毁 四个生命周期之间可以通过添加后处理器强化这个 bean 1.1、生命周期 LifeCycleBean.class public class LifeCycleBean { public static final

  • Spring AOP 源码解析2022-03-20 17:33:57

    之前写过 IOC 的源码分析,那篇文章真的有点长,看完需要点耐心。很多读者希望能写一写 Spring AOP 的源码分析文章,这样读者看完 IOC + AOP 也就对 Spring 会有比较深的理解了。今天终于成文了,可能很多读者早就不再等待了,不过主要为了后来者吧。 本文不会像 IOC 源码分析那篇文章一

  • 打印springboot容器的所有实例关键代码2022-03-18 19:05:09

    @Bean public CommandLineRunner commandLineRunner(ApplicationContext ctx) { return args -> { System.out.println("Let's inspect the beans provided by Spring Boot:"); String[] beanNames = ctx.getBea

  • 【spring源码系列】之【Bean的销毁】2022-03-08 20:02:37

    以“冬奥之光,多彩冰灯”为主题的第四十一届全国专业冰雕比赛在冰城哈尔滨市进入第二天,60名冰雕高手在哈尔滨冰灯艺术游园会园区展开激烈的竞技比拼。 冰雕艺术 1. 概述 Bean的销毁是Bean的生命周期中最后一步,比如在Tomcat等容器关闭的时候会调用Bean的销毁方法,下面逐步分析。 2.

  • 探究Spring原理2022-03-06 13:04:46

    探究Spring原理 探究IoC原理 首先我们大致了解一下ApplicationContext的加载流程: 我们可以看到,整个过程极为复杂,一句话肯定是无法解释的,所以我们就从ApplicationContext说起吧。 由于Spring的源码极为复杂,因此我们不可能再像了解其他框架那样直接自底向上逐行干源码了(可以自己点

  • 使用注解管理spring bean生命周期2022-03-04 08:32:13

    Bean生命周期注解大致有这么多,创建并注册Bean,bean初始化与销毁,以及scope、conditional、primary、lazy等注解。 bean的初始化与销毁 BeanPostProcessor工作原理 我们给自定义的postProcessBeforeInitialization方法打上断点,debug执行,通过IDEA拿到方法调用栈。分析如下 // 初始化

  • 一文带你解读Spring5源码解析 IOC之开启Bean的加载,以及FactoryBean和BeanFactory的区别。2022-02-22 18:34:53

    前言 通过往期的文章我们已经了解了Spring对XML配置文件的解析,将分析的信息组装成BeanDefinition,并将其保存到相应的BeanDefinitionRegistry中,至此Spring IOC的初始化工作已经完成,这篇文章主要对Bean的加载进行一个深入的了解及探索。 想要了解Bean就必要要知道接口BeanFactory,接

  • Spring系列-4.1 Bean生命周期基本流程2022-02-22 17:00:33

    Spring版本:Spring 5.2.9.BUILD-SNAPSHOT 修改过部分源码,但不影响主体流程 概述 bean的生命周期主要有如下几个步骤: 创建bean的实例 给实例化出来的bean填充属性 初始化bean 通过IOC容器使用bean 容器关闭时销毁bean 调用时机 refresh() -> finishBeanFactoryIniti

  • Spring源码中getBean的简单流程2022-02-20 22:04:25

    在学习Sring的时候,免不了经常见如下的代码 VirtuousApplicationContext applicationContext = new VirtuousApplicationContext(AppConfig.class); UserInterFace userInterFace = (UserInterFace) applicationContext.getBean("userService"); 这就是Spring给我们造的轮

  • 源码解析: Spring RabbitMQ消费者2022-02-20 15:30:49

    从Spring RabbitMQ消费者启动,到接收消息和执行消费逻辑,一步步了解其实现。 目录 1. 消费者如何启动过程1.1 启动配置类1.2 创建消费者核心逻辑1.3 PS: BeanPostPorcessor如何被Spring处理? 2. RabbitMQ消息如何被消费2.1 SimpleMessageListenerContainer2.2 BlockingQueueC

  • Spring系列-3.2 ApplicationContextAwareProcessor2022-02-11 11:02:24

    Spring版本:Spring 5.2.9.BUILD-SNAPSHOT 修改过部分源码,但不影响主体流程 概述 ApplicationContextAwareProcessor用来完成以下功能:向某些实现了Aware的接口的bean设置ApplicationContext中的相应属性。 EnvironmentAware EmbeddedValueResolverAware ResourceLoaderAwa

  • Spring为@Configuration注解修改的类生成代理对象原因分析2022-02-06 23:29:59

    前言 在Spring中只要被@Configuration注解修饰的类,Spring就会为其生成代理对象,至于这样做的主要原因就是为了解决生成对象的单例问题。 具体说明 实际上作者在ConfigurationClassEnhancer这个类也有注解说明 具体场景 如果Spring不做处理,下面输出的一定的是false,但是实际上

  • Spring源码-AOP部分-Spring是如何对bean实现AOP代理的2022-02-04 19:02:37

    实验环境:spring-framework-5.0.2、jdk8、gradle4.3.1 历史文章 Spring源码-IOC部分-容器简介【1】 Spring源码-IOC部分-容器初始化过程【2】 Spring源码-IOC部分-Xml Bean解析注册过程【3】 Spring源码-IOC部分-自定义IOC容器及Bean解析注册【4】 Spring源码-IOC部分-Bean实例

  • Spring源码-IOC部分-Spring是如何解决Bean循环依赖的【6】2022-02-03 19:32:59

    实验环境:spring-framework-5.0.2、jdk8、gradle4.3.1 Spring源码-IOC部分-容器简介【1】 Spring源码-IOC部分-容器初始化过程【2】 Spring源码-IOC部分-Xml Bean解析注册过程【3】 Spring源码-IOC部分-自定义IOC容器及Bean解析注册【4】 Spring源码-IOC部分-Bean实例化过程【5

  • 有关Spring对象的创建---getBean(‘‘beanName“)2022-02-02 23:04:00

    我们从此处开始,跟随debug,解读Spring的对象创建过程。 注意:Product对象为单例,且第一次创建的简单对象,即没有使用FactoryBean创建对象 首先,进入AbstractBeanFactory这个对象的doGetBean方法 首先执行transformedBeanName(name)方法,此方法的作用为根据传入的name找到这个对象对应

  • Spring源码-IOC部分-Xml Bean解析注册过程【3】2022-02-02 11:34:53

    实验环境:spring-framework-5.0.2、jdk8、gradle4.3.1 本文以Xml Bean解析为例,步骤如下 Bean解析过程发生在AbstractApplicationContext#refresh()方法的第2步:obtainFreshBeanFactory() AbstractApplicationContext#obtainFreshBeanFactory方法 /** * 初始化BeanFactory,在

  • Spring事务原理分析(一)--@EnableTransactionManagement 到底做了什么?2022-02-01 09:06:18

    目录 一、概述 二、事务的ACID属性 三、事务的隔离级别 四、事务的传播行为 五、Spring声明式事务环境搭建 六、@EnableTransactionManagement分析 七、AutoProxyRegistrar类分析 八、ProxyTransactionManagementConfiguration类分析 九、总结 一、概述 在分析Spring事务原理之

  • 源码解读Spring如何解决循环依赖2022-01-28 19:30:36

    目录 前言 循环依赖的解释 源码解读前的准备 正文 hello world的代码 源码解读 Spring解决循环依赖的缓存图 Spring解决循环依赖的流程图 总结 相应课程的推荐 前言 循环依赖的解释 大家在面试中可能会遇到面试官问你Spring在内部它是如何解决循环依赖的?甚至可能有些小伙伴有看

  • 「Spring-IoC」源码分析一获取bean信息2022-01-27 20:00:19

    好久没更新了,年末最后一个季度确实会比较忙,也是抽空看完了Spring的源码,这里进行一下回顾总结,现在Spring的源码实在太多,有的分析的也很细致,这里就不打算分析的太细了。还是按照之前的节奏,按照我看源码的几个点进行分析。如果有什么问题,还希望多多指教。下面开始源码分析 Spring相

  • Spring IOC 容器源码分析2022-01-27 14:33:15

    转载:Spring IOC 容器源码分析_Javadoop 创建时间: 2017-11-15 00:00:00 Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助

  • Spring IoC 源码刨析扩展之 循环依赖与三级缓存2022-01-25 12:06:05

    目录 一、循环依赖相关定义1、什么是循环依赖?2、Spring 中循环依赖场景有哪些? 二、循环依赖处理机制1、有哪些条件下不支持处理?2、prototype 原型 bean 的循环依赖无法支持处理原因1)事先判断排除2)原型 bean 在创建完成之后不会保存在容器当中总结:Spring 不支持原型 bean 的

  • Spring源码 - 获取单例(上)2022-01-22 19:32:54

    Spring源码 - 获取单例(上) Spring版本:Spring 5.3.13-release # 1、doGetBean()创建Bean实例 在AbstractBeanFactory#doGetBean()的源码中: protected <T> T doGetBean( String name, @Nullable Class<T> requiredType, @Nullable Object[] args, boolean typeCheckOnly

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有