Spring之旅--Spring 实例化bean的三种方式

来源:互联网 发布:上海美团数据分析 编辑:程序博客网 时间:2024/06/03 19:08

        在Spring管理bean的原理这篇博文中,我们探讨了Spring是如何对bean进行实例化的,但是我们仅仅是讨论了如何实例化,但是没有讲到Spring实例化bean的方式,在本篇文章中呢,我们将深入探讨Spring实例化bean的方式。

        Spring 容器中,实例化bean的方式有三种:构造器实例化、静态工厂方法实例化、实例工厂方法实例化。

        采用构造器实例化bean方式时,Spring对需要实力化的类没有什么特殊的要求,被创建的类并不需要实现任何特定的接口,或以特定的方式编码,只要指定bean的class属性即可。不过根据所采用 的IoC类型,需要实例化的类可能需要一个默认的空构造器。Spring容器最常用的方式构造器实例化,以下是器通常的配置方式,只要指定class属性即可。

        当采用静态工厂方法创建bean时,除了需要指定class 属性外,还需要通过factory-method属性来指定创建bean实例 的工厂方法。Spring容器会调用指定工厂的静态工方法,返回指定bean实例对象。

        首先我们创建一个工厂类,并提供一个静态方法。

       静态工厂方法类创建完毕之后呢,我们需要在配置文件<bean>节点中,配置上工厂类及指定静态方法。配置好之后,正常启动Spring容器就可,容器会自动实例化工厂,然后调用指定的方法,返回实例化化的bean对象。

       实例工厂方法实例化,与使用静态工厂方法实例化类似,用来进行实例化的非静态实例工厂方法位 于另外一个bean中,也就是一个工厂类,提供一个工厂方法返回bean实例对象,区别是这个方法不是静态的。为使用这种机制,需要容器管理的<bean>节点,不需要配置class属性,提供一个<bean>节点,实例化工厂类,然后再引用这个工厂类bean的创建bean的方法返回需要的bean对象。

      以上我们一起了解了Spring容器实例化bean的三种方式,在这三种方式中,我们百分之八十都是采用Spring默认实例化的方式。对于各位朋友使用哪种方式,这就看你的习惯和需求了。


0 0
原创粉丝点击