
Spring
上掊
这个作者很懒,什么都没留下…
展开
-
Spring的IOC容器初始化源码分析一:super(parent)
IOC 容器的初始化包括 BeanDefinition 的 Resource 定位、载入和注册这三个基本的过程。以 ApplicationContext 为例讲解,ApplicationContext 系列容器也许是我们最熟悉的,因为 Web 项 目 中 使 用 的XmlWebApplicationContext 就 属 于 这 个 继 承 体 系 , 还 有 ClasspathXmlApp...原创 2019-08-09 16:53:17 · 478 阅读 · 0 评论 -
Spring的IOC容器初始化源码分析二:setConfigLocations
设置本地的配置信息,创建环境对象ConfigurableEnvironment 、处理ClassPathXmlApplicationContext传入的字符串中的占位符; setConfigLocations(configLocations);包:package org.springframework.context.support;类:AbstractRefres...原创 2019-08-09 16:56:24 · 198 阅读 · 0 评论 -
Spring的IOC容器初始化源码分析三:refresh(01)
SpringIOC 容器对 Bean 定义资源的载入是从 refresh()函数开始的,refresh()是一个模板方法, refresh()方法的作用是:在创建 IOC 容器前,如果已经有容器存在,则需要把已有的容器销毁和关闭, 以保证在 refresh 之后使用的是新建立起来的 IOC 容器。refresh 的作用类似于对 IOC 容器的重启, 在新建立好的容器中对容器进行初始化,对 Bean...原创 2019-08-09 17:07:29 · 315 阅读 · 0 评论 -
Spring的IOC容器初始化源码分析三:refresh(03)
11.finishBeanFactoryInitializationfinishBeanFactoryInitialization方法做了两件事: 1.beanFactory对象的初始化; 2.bean配置文件中配置的那些单例的bean,都是在finishBeanFactoryInitialization方法中实例化的; //对配置了lazy-init属性的Bean进行预实例化处理 p...原创 2019-08-09 17:08:10 · 206 阅读 · 0 评论 -
Spring的IOC容器初始化源码分析三:refresh(02)
3. prepareBeanFactory(beanFactory); //为BeanFactory配置容器特性,例如类加载器、事件处理器等 // 对beanFactory做一些设置,例如类加载器、SPEL解析器、指定bean的某些类型的成员变量对应某些对象. protected void prepareBeanFactory(ConfigurableListableBeanFac...原创 2019-08-09 17:15:42 · 160 阅读 · 0 评论 -
Spring的IOC容器初始化源码分析四:载入注解Bean
refresh方法中,调用注解解析bean的loadBeanDefinitions方法如下:public class AnnotationConfigWebApplicationContext extends AbstractRefreshableWebApplicationContext implements AnnotationConfigRegistry //载入注解Bean...原创 2019-09-02 14:33:02 · 457 阅读 · 0 评论 -
AOP源码分析一:xml文件解析
AOP的xml文件配置如下:<aop:aspectj-autoproxy proxy-target-class="true"/><bean id="xmlAspect" class="com.aop.aspect.XmlAspect"></bean> <!-- AOP 配置 --> <aop:config> ...原创 2019-09-02 18:07:50 · 325 阅读 · 0 评论 -
AOP源码分析二:创建AOP代理
aop代理的创建时在初始化bean之后,先来看下bean初始化方法:initializeBeanAbstractAutowireCapableBeanFactory的initializeBean方法进行初始化://初始容器创建的Bean实例对象,为其添加BeanPostProcessor后置处理器 protected Object initializeBean(final String...原创 2019-09-02 18:07:56 · 263 阅读 · 0 评论 -
AOP源码分析三:pointcut的配置说明
aop配置中有如下一行:<aop:pointcut expression="execution(* com.aop.service..*(..))"其中expression="execution(* com.aop.service..*(..))"的配置规则如下:execution(modifiers-pattern? ret-type-pattern declaring-...原创 2019-09-02 18:08:00 · 763 阅读 · 0 评论