开发者社区 问答 正文

对Spring xml 3种创建bean的理解

*************以下是在百度上搜到的,有些地方不理解 通过bean的缺省构造函数创建,当各个bean的业务逻辑相互比较独立的时候或者和外界关联较少的时候可以使用。

利用静态factory方法创建,可以统一管理各个bean的创建,如各个bean在创建之前需要相同的初始化处理,则可用这个factory方法险进行统一的处理等等。

利用实例化factory方法创建,即将factory方法也作为了业务bean来控制,觉得1可用于集成其他框架的bean创建管理方法,2能够使bean和factory的角色互换。


静态Factory方法创建:每个bean的属性大都是不一致的,在创建之前怎么可能有需要相同的出事化处理,求解释。

能够使bean和factory的角色互换 较色呼唤怎么理解?

展开
收起
长安归故里. 2020-01-31 13:42:11 1067 分享 版权
1 条回答
写回答
取消 提交回答
  • 1.相同的初始化处理:这个并不是静态工厂独有的功能,在类的初始化非常常见,比如一个类的一些变量需要进行一些初始化处理,或者根据传人的构造参数进行某些特定的操作,在构造方法中调用其他方法。 2.bean和factory的角色互换:个人认为是这个样子的,

    Java代码 收藏代码

    <!-- the factory bean, which contains a method called createInstance() -->  
    <bean id="serviceLocator" class="com.foo.DefaultServiceLocator">  
      <!-- inject any dependencies required by this locator bean -->  
    </bean>  
      
    <!-- the bean to be created via the factory bean -->  
    <bean id="exampleBean"  
          factory-bean="serviceLocator"  
          factory-method="createInstance"/>
    
    

    serviceLocator这个bean对spring容器而言它仅仅是一个bean,但对于exampleBean这个bean而言,它是工厂,容器。serviceLocator的bean和factory角色是相对的。

    2020-01-31 13:42:22
    赞同 展开评论