1.构造器方式(反射):xml(<bean class="com.tuling.user"></bean>),@Component通过反射的方式将类路径传递到BeanDefinition.beanClass
2.静态工厂:
在xml文件中指定bean的factory-method
<bean class="com.tj.domain.Person" id="Person" factory-method="createPersonFacory">
</bean>
spring实例化的时候就会调用factory-method指向的createPersonFacory方法(在Person类中编译的静态方法)进行实例化。
3.实例工厂(@Bean):factory-bean+factory-method
<bean class="com.tj.domain.Person" id="Person"
factory-bean="personFactory"
factory-method="createPersonFacory">
</bean>
spring在实例化的时候调用指定的bean里的指定方法
4.FactoryBean方式
在一个Bean上实现FactoryBean重写getObject()返回Objetc类型
区别:第一种是spring自动实例化的,剩余三种是程序员自定义的