类 BeanCreateContextUtil
- java.lang.Object
-
- xyz.xiezc.ioc.starter.common.context.impl.BeanCreateContextUtil
-
- 所有已实现的接口:
BeanCreateContext
public class BeanCreateContextUtil extends Object implements BeanCreateContext
- 作者:
- xiezc
-
-
字段概要
字段 修饰符和类型 字段 说明 protected ApplicationContextUtilapplicationContextUtilprotected BeanDefinitionContextbeanDefinitionContextprotected PropertiesContextpropertiesContext
-
构造器概要
构造器 构造器 说明 BeanCreateContextUtil(ApplicationContextUtil applicationContextUtil)
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 BeanDefinitionbuildBean(BeanDefinition beanDefinition)BeanDefinitioncreateBean(BeanDefinition beanDefinition)beanDefinition的初始化, 其初始化的过程较为复杂, 具体我分以下几步 1.booleanisCircularDependenceBeanDefinition(BeanDefinition beanDefinition)voidremoveCreatingBeanDefinition(BeanDefinition beanDefinition)移除正在创建中的bean
-
-
-
字段详细资料
-
beanDefinitionContext
protected BeanDefinitionContext beanDefinitionContext
-
propertiesContext
protected PropertiesContext propertiesContext
-
applicationContextUtil
protected ApplicationContextUtil applicationContextUtil
-
-
构造器详细资料
-
BeanCreateContextUtil
public BeanCreateContextUtil(ApplicationContextUtil applicationContextUtil)
-
-
方法详细资料
-
createBean
public BeanDefinition createBean(BeanDefinition beanDefinition)
beanDefinition的初始化, 其初始化的过程较为复杂, 具体我分以下几步 1. 将这个bean放入待初始化集合中,这个主要是用来解决循环依赖的判断的 2. 获取这个bean中的用户自定义注解,如果有的话,此时获取对应的annotationHandler来处理下 3. 校验这个bean的所有依赖在不在容器中, 包括配置文件中配置值(@Value)的依赖 5. 开始初始化,并且注入字段值,修改对应状态 6. 判断有无切面,有切面的话,生成代理类替换生成的bean- 指定者:
createBean在接口中BeanCreateContext- 参数:
beanDefinition-- 返回:
-
buildBean
public BeanDefinition buildBean(BeanDefinition beanDefinition)
- 指定者:
buildBean在接口中BeanCreateContext- 返回:
-
removeCreatingBeanDefinition
public void removeCreatingBeanDefinition(BeanDefinition beanDefinition)
移除正在创建中的bean- 参数:
beanDefinition-
-
isCircularDependenceBeanDefinition
public boolean isCircularDependenceBeanDefinition(BeanDefinition beanDefinition)
-
-