******************以下是在百度上搜到的,有些地方不理解*****
通过bean的缺省构造函数创建,当各个bean的业务逻辑相互比较独立的时候或者和外界关联较少的时候可以使用。
利用静态factory方法创建,可以统一管理各个bean的创建,如各个bean在创建之前需[color=red]要相同的初始化处理[/color],则可用这个factory方法险进行统一的处理等等。
利用实例化factory方法创建,即将factory方法也作为了业务bean来控制,觉得1可用于集成其他框架的bean创建管理方法,2[color=red]能够使bean和factory的角色互换[/color]。
静态Factory方法创建:每个bean的属性大都是不一致的,在创建之前怎么可能有需要相同的出事化处理,求解释。
[color=red]能够使bean和factory的角色互换[/color] 较色呼唤怎么理解?
1.相同的初始化处理:这个并不是静态工厂独有的功能,在类的初始化非常常见,比如一个类的一些变量需要进行一些初始化处理,或者根据传人的构造参数进行某些特定的操作,在构造方法中调用其他方法。
2.bean和factory的角色互换:个人认为是这个样子的,
[code="java"]
<!-- inject any dependencies required by this locator bean -->
factory-bean="serviceLocator"
factory-method="createInstance"/>
[/code]
serviceLocator这个bean对spring容器而言它仅仅是一个bean,但对于exampleBean这个bean而言,它是工厂,容器。serviceLocator的bean和factory角色是相对的。