![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring源码解析
spring相关源码
xfgp02
这个作者很懒,什么都没留下…
展开
-
注解以及对应的处理器
@Configuration,@Bean,@PropertySource,@ComponentScan,@Import,@ImportResource ----------------------ConfigurationClassPostProcessor@ConfigurationProperties--------------ConfigurationPropertiesBindingPostProcessor原创 2021-01-27 09:42:57 · 144 阅读 · 1 评论 -
FactoryBean 与ObjectFactory
二者很相似,但也略有区别。通过接口内容来看,两者都是属于工厂模式用来创建对象使用的。/** * Defines a factory which can return an Object instance * (possibly shared or independent) when invoked. * * <p>This interface is typically used to encapsulate a generic factory which * returns a原创 2020-12-16 09:47:59 · 193 阅读 · 0 评论 -
spring容器启动过程1
创建applicationContext的方式有多种,自己new一个【实现类也不止一种】,springboot启动会自己注册一个,根据包路径中是否包含servlet等判别条件【springboot创建不同applicationcontext的判别条件】,创建的applicationContext略有区别,加载过程有很多相似的地方,本文以AnnotationConfigServletWebServerApplicationContext为例,核心代码如下:/** * Create a new {@l原创 2020-12-15 15:59:49 · 71 阅读 · 0 评论 -
springboot启动的applicationContext的类型选择
首先,一共有三种类型AnnotationConfigServletWebServerApplicationContext,AnnotationConfigReactiveWebServerApplicationContext,AnnotationConfigApplicationContext。springboot会根据webApplicationType的值来确定你加载哪一个applicationContext/** * Strategy method used to create t.原创 2020-12-15 14:48:55 · 1462 阅读 · 0 评论 -
spring源码分析----@Bean如何解析的
ConfigurationClassBeanDefinitionReader的loadBeanDefinitionsForConfigurationClass方法原创 2020-12-11 18:04:23 · 264 阅读 · 0 评论 -
spring源码分析----DefaultAopProxyFactory
DefaultAopProxyFactory.java/* * Copyright 2002-2015 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of t.原创 2020-12-11 14:56:21 · 128 阅读 · 0 评论 -
spring源码分析-----ProxyConfig
public class ProxyConfig implements Serializable { // 如果该值为true,则proxyFactory将会使用CGLIB对目标对象进行代理,默认值为false private boolean proxyTargetClass = false; // 标记是否对代理进行优化。启动优化通常意味着在代理对象被创建后,增强的修改将不会生效,因此默认值为false。 private boolean optim...原创 2020-12-11 14:50:43 · 162 阅读 · 0 评论 -
spring源码解析-----AbstractAutoProxyCreator
AbstractAutoProxyCreator.java部分代码如下以下部分代码展示了动态代理的形成过程【部分】/** * Create a proxy with the configured interceptors if the bean is * identified as one to proxy by the subclass. * @see #getAdvicesAndAdvisorsForBean */ @Override public Object p...原创 2020-12-11 14:38:27 · 299 阅读 · 0 评论 -
spring源码解析----AbstractAutowireCapableBeanFactory类applyBeanPostProcessorsAfterInitialization
AbstractAutowireCapableBeanFactory.java部分代码如下 //对bean应用后置处理器中的postProcessAfterInitialization方法 @Override public Object applyBeanPostProcessorsAfterInitialization(Object existingBean, String beanName) throws BeansException { Object resul.原创 2020-12-11 14:35:43 · 429 阅读 · 0 评论 -
spring源码解析--------ApplicationContextAwareProcessor和ApplicationContextAware
ApplicationContextAwareProcessor.javapackage org.springframework.context.support;import java.security.AccessControlContext;import java.security.AccessController;import java.security.PrivilegedAction;import org.springframework.beans.BeansExcept...原创 2020-12-09 16:28:50 · 351 阅读 · 0 评论 -
spring源码解析-------AbstractApplicationContext类的prepareBeanFactory方法
源码解析AbstractApplicationContext类的protected void prepareBeanFactory(ConfigurableListableBeanFactory beanFactory)方法/** * Configure the factory's standard context characteristics, * such as the context's ClassLoader and post-processors. * @param b...原创 2020-12-09 13:19:07 · 188 阅读 · 1 评论 -
spring bean 提前暴露以及循环依赖
相应源码位置:AbstractAutowireCapableBeanFactory.class// Eagerly cache singletons to be able to resolve circular references// even when triggered by lifecycle interfaces like BeanFactoryAware.boolean earlySingletonExposure = (mbd.isSingleton() && th.原创 2020-10-20 11:22:46 · 1296 阅读 · 0 评论