| 程序包 | 说明 |
|---|---|
| org.springframework.beans.factory |
The core package implementing Spring's lightweight Inversion of Control (IoC) container.
|
| org.springframework.beans.factory.annotation |
Support package for annotation-driven bean configuration.
|
| org.springframework.beans.factory.support |
Classes supporting the
org.springframework.beans.factory package. |
| 限定符和类型 | 类和说明 |
|---|---|
class |
BeanCreationNotAllowedException
Exception thrown in case of a bean being requested despite
bean creation currently not being allowed (for example, during
the shutdown phase of a bean factory).
|
class |
BeanCurrentlyInCreationException
Exception thrown in case of a reference to a bean that's currently in creation.
|
class |
BeanIsAbstractException
Exception thrown when a bean instance has been requested for
a bean definition which has been marked as abstract.
|
class |
UnsatisfiedDependencyException
Exception thrown when a bean depends on other beans or simple properties
that were not specified in the bean factory definition, although
dependency checking was enabled.
|
| 限定符和类型 | 方法和说明 |
|---|---|
Constructor<?>[] |
AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(Class<?> beanClass,
String beanName) |
PropertyValues |
AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(PropertyValues pvs,
PropertyDescriptor[] pds,
Object bean,
String beanName) |
void |
AutowiredAnnotationBeanPostProcessor.processInjection(Object bean)
'Native' processing method for direct calls with an arbitrary target instance,
resolving all of its fields and methods which are annotated with
@Autowired. |
| 限定符和类型 | 方法和说明 |
|---|---|
protected Object |
AbstractAutowireCapableBeanFactory.createBean(String beanName,
RootBeanDefinition mbd,
Object[] args)
Central method of this class: creates a bean instance,
populates the bean instance, applies post-processors, etc.
|
protected abstract Object |
AbstractBeanFactory.createBean(String beanName,
RootBeanDefinition mbd,
Object[] args)
该方法定义在 AbstractBeanFactory 中,其含义是根据给定的 BeanDefinition 和 args 实例化一个 Bean 对象。
|
protected Object |
AbstractAutowireCapableBeanFactory.doCreateBean(String beanName,
RootBeanDefinition mbd,
Object[] args)
真的创建bean的逻辑,该方法是最复杂的包含了调用构造函数,给bean的属性赋值
调用bean的初始化操作以及 生成代理对象 都是在这里
|