Spring 提供配置Bean 三种实例化方式
1. 使用类构造器实例化(默认无参数)
则在配置文件中配置:
<bean id="bean1" class="cn.itcast.spring.b_instance.Bean1"></bean>
此时spring容器会调用Bean1的无参构造器实例化Bean1.
这种方式也是开发中最常用的.
========================================
2. 使用静态工厂方法实例化(简单工厂模式)
/** * 静态工厂方法进行实例化 */ publicclass Bean2 { } |
/** * Bean2 工厂类 */ publicclass Bean2Factory { publicstatic Bean2 getBean2() { System.out.println("静态工厂方法执行..."); returnnew Bean2(); } } |
此时在spring配置文件中配置Bean2的方式如下:
<bean id="bean2" class="cn.itcast.spring.b_instance.Bean2Factory" </bean> |
其中:此时的class属性值是静态工厂方法类的完全限定名.
factory-method="getBean2"是静态工厂方法的方法名.
========================================
3. 使用实例工厂方法实例化(工厂方法模式)
/** * 实例工厂方法 */ publicclass Bean3 { } |
/** * Bean3的工厂 */ publicclass Bean3Factory { public Bean3Factory() { System.out.println("创建Bean3工厂对象..."); } // 先创建 Bean3Factory实例,再调用 getBean3 public Bean3 getBean3() { System.out.println("实例工厂方法...."); returnnew Bean3(); } }
|
此时在spring配置文件中配置Bean3的方式如下:
<bean id="bean3Factory" class="cn.itcast.spring.b_instance.Bean3Factory"></bean> //这种方式要配置两个bean <bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean> |
这种方式比较麻烦点:必须先创建工厂类Bean3Factory然后再去调用Bean3Factory类的工厂方法.因为Bean3Factory没有静态工厂方法,调用实例方法必须new对象出来.
对于第二种创建配置的方式因为静态工厂方法可以不需要创建对象就可以调用,所以不需要创建Bean的工厂类.
实例工厂类必须提供无参构造器,因为spring要实例化实例工厂类.
在配置bean3时 factory-bean属性值引用spring配置文件中实例工厂类的id或name值;
factory-method="getBean3"调用工厂类的实例工厂方法.
相关推荐
Spring的三种实例化Bean的方式
Spring 实例化Bean的三种方式
NULL 博文链接:https://88548886.iteye.com/blog/1682243
本篇文章主要介绍了详解Spring中bean实例化的三种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Spring项目bean实例化代码,包括bean是如何创建的;实例化bean的三种方式,构造方法,静态工厂和实例工厂。
下面小编就为大家带来一篇浅谈springioc实例化bean的三个方法。小编觉得挺不错的,现在就想给大家,也给大家做个参考。一起跟随小编过来看看吧
通过实例工厂方法和静态工厂方法实例化spring bean的例子。
实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和实例工厂方式实例化(其中最常用的是构造器实例化)。 2.2.1 构造器实例化 创建Web项目,导入相关Jar包; 创建名为Bean1的Java类; 创建Spring配置...
主要给大家介绍了关于Spring中实例化bean的四种方式,分别是setter 方法、构造函数、静态工厂以及实例工厂等四种方法,分别给出了示例代码供大家参考学习,需要的朋友们下面随着小编来一起学习学习吧。
主要介绍了Spring实例化bean的方式代码详解,具有一定借鉴价值,需要的朋友可以参考下
主要介绍了Spring Bean的初始化和销毁,结合实例形式详细分析了Spring Bean的初始化和销毁相关配置、使用方法及操作注意事项,需要的朋友可以参考下
Spring 延迟实例化
主要介绍了Spring实例化bean过程解析及完整代码示例,简单分析实例化bean过程并且分享了相关实例,具有一定借鉴价值,需要的朋友可以参考下
主要介绍了Spring bean对象实例化实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
3、通过spring的xml bean配置或bean注解指定初始化方法,如下面实例的initMethod方法通过@bean注解指定。 销毁的时候实现的方法 1、通过java提供的@PreDestroy注释; 2、通过实现spring提供的DisposableBean接口,并...
主要介绍了Spring Bean实例化实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
NULL 博文链接:https://bijian1013.iteye.com/blog/2384411
【课程介绍】:Spring启动时读取应用提供的Bean配置信息,在Spring容器中生成对应的Bean配置注册表,然后根据这个注册表实例化Bean,组装了Beans之间的依赖关系,为上层应用提供了一个现成的运行环境。【课程目录】...
虽然可以随意配置 <bean> 的属性,但是建议不要过多地使 Bean 实现接,因为这样会导致代码和 Spring 的聚合过于紧密第 1 步:实例化Bean第
主要介绍了Spring工厂方法创建bean实例代码,具有一定借鉴价值,需要的朋友可以参考下