Spring3之 bean命名(http://ponlya.iteye.com/blog/1004889) 中已经有一种实例化bean的方法了,这里看spring3文档有另二种:Instantiation with a static factory method(静态工厂方法实例化),Instantiation using an instance factory method(实例工厂方法实例化)
a)、Instantiation with a static factory method
com.spring305.test.beanInit.po.StaticFactoryBeanInit.java
public class StaticFactoryBeanInit {
public void test(){
System.out.println(StaticFactoryBeanInit.class+" test method");
}
}
com.spring305.test.beanInit.po.StaticFactory.java
public class StaticFactory {
private static StaticFactoryBeanInit staticFactoryBeanInit = new StaticFactoryBeanInit();
/**
* 测试静态工厂方法实例化bean
* @return
*/
public static StaticFactoryBeanInit createBean(){
return staticFactoryBeanInit;
}
}
单例模式实现
b)、Instantiation using an instance factory method
com.spring305.test.beanInit.po.StaticFactory2.java
public class StaticFactory2 {
private static StaticFactoryBeanInit staticFactoryBeanInit = new StaticFactoryBeanInit();
/**
* 测试非静态实例工厂方法实例化bean
* @return
*/
public StaticFactoryBeanInit createBean(){
return staticFactoryBeanInit;
}
}
一字母之差而已。
src/testBeanInit.xml
<!-- 静态工厂方法实例化Bean
<bean id="staticFactoryBeanInit" class="com.spring305.test.beanInit.po.StaticFactory"
factory-method="createBean">
</bean>
-->
<!-- 实例工厂方法实例化Bean. class 属性必须为空 -->
<bean id="staticFactory" class="com.spring305.test.beanInit.po.StaticFactory2"></bean>
<bean id="staticFactoryBeanInit" factory-bean="staticFactory"
factory-method="createBean">
</bean>
<!--EndFragment-->
分享到:
相关推荐
这里,我们主要探讨的是Spring如何通过其IoC(Inversion of Control)容器来实例化Bean,并理解其背后的逻辑。 首先,我们要知道Spring IoC容器是通过XML配置文件、注解或Java配置类来管理Bean的生命周期。Bean的...
在Spring框架中,实例化Bean是管理对象生命周期的关键部分。Spring提供了多种方式来创建和管理Bean,这使得我们可以根据项目需求灵活选择最佳实践。本文将详细介绍Spring中的三种主要的Bean实例化方式:XML配置、...
其中,Bean的实例化是Spring框架的核心功能之一,它支持多种实例化Bean的方式,以适应不同的应用场景和需求。本文将深入探讨Spring中实例化Bean的三种主要方式:构造器注入、静态工厂方法注入以及实例工厂方法注入。...
在Spring框架中,Bean的实例化是核心概念之一,它涉及到如何管理和控制应用程序中的对象生命周期。本篇文章将深入探讨Spring项目中Bean的实例化过程,包括三种主要的bean实例化方式:构造方法、静态工厂和实例工厂。...
在预实例化过程中,`getBean(beanName)`被调用,这是`AbstractBeanFactory`类中的一个方法,用于从Bean工厂中获取指定名称的Bean实例。 6. **实际获取Bean**: 进入`doGetBean()`方法,这是Bean实例化的关键步骤...
2. **实例化bean** Spring容器提供多种实例化bean的方式: - **默认实例化**:如果bean没有指定构造函数,Spring会使用默认无参构造函数创建bean。 - **构造函数注入**:可以通过指定构造函数参数,Spring会调用...
在Spring框架中,实例化Bean是其核心功能之一,它为开发者提供了多种方式来创建和管理对象。这篇“Spring学习笔记(2)----实例化Bean的三种方式”着重讲解了如何在Spring应用上下文中初始化Bean。以下是这三种方式...
在Spring框架中,bean的实例化是其核心功能之一,它允许我们管理应用程序中的对象生命周期。本篇将详细探讨两种工厂方法——实例工厂方法和静态工厂方法,用于创建Spring Bean。 首先,我们要理解Spring Bean的概念...
实例化Bean是IOC的核心步骤之一,本文将详细讲解Spring IOC实例化Bean的三个方法。 一、构造器实例化 构造器实例化是指使用Bean的构造函数来实例化Bean。这种方法简单易用,但需要Bean提供无参构造函数。在上面的...
在这个过程中,Spring 容器会自动调用静态工厂方法来实例化 Bean2,这样我们就可以获取到 Bean2 实例。 Spring Bean 实例化是 Spring 框架中一个非常重要的概念,它直接关系到 Bean 的生命周期和管理。通过对 ...
在Spring框架中,Bean的实例化是其核心功能之一,用于管理对象的生命周期和依赖关系。本文将详细探讨Spring中bean实例化的三种主要方式:普通构造方法创建、静态工厂创建和实例工厂创建。 1. 普通构造方法创建: 这...
2. **@Autowired注解的误用**:Spring的自动装配机制可能导致Bean的多次实例化。如果一个BeanA依赖于另一个BeanB,同时BeanB也依赖于BeanA,那么Spring在处理依赖关系时可能会陷入循环引用,导致两个Bean都实例化两...
在Spring框架中,延迟实例化(Lazy Initialization)是一种优化技术,用于控制bean何时被实例化。默认情况下,当ApplicationContext启动时,所有配置为单例模式(Singleton)的bean都会被立即实例化。但是,如果一个...
一旦XML配置加载到Spring容器中,容器将根据配置创建Bean实例,并按照定义进行初始化、依赖注入,最后完成Bean的生命周期管理。 10. **实践操作**: 在实际开发中,我们可以使用Eclipse的Spring插件来简化Bean...
Spring 框架系列(8)- Spring IOC 实现原理详解之 Bean 实例化(生命周期、循环依赖等) 本文主要研究 Spring 框架中 Bean 的实例化过程,包括 Bean 的生命周期和循环依赖问题的解决方案。在 Spring 框架中,Bean ...
在 Spring 框架中,Bean 对象实例化是一个非常重要的过程,本文将详细介绍 Spring Bean 对象实例化实现过程图解,通过示例代码介绍了 Bean 对象实例化的整个过程,对大家的学习或者工作具有一定的参考学习价值。...
在Spring框架中,我们可以使用多种方式来初始化Bean,下面我们将介绍两种常见的方式: 1、使用@Bean的initMethod 在使用@Bean注解时,我们可以使用initMethod属性来指定Bean的初始化方法。例如: ```java @Bean...
- **实例化**:Spring通过`Class.forName()`或`new`关键字实例化Bean。如果在XML配置中指定了`class`属性,Spring将根据该属性创建Bean。 - **属性注入**:Spring会将依赖注入到Bean中,包括值注入(value,ref)...
Spring实例化bean过程解析及完整代码示例 在Spring框架中,bean的实例化是一个非常重要的过程。今天我们将详细介绍Spring实例化bean的过程,并提供一个完整的代码示例,以便更好地理解这个过程。 第一步:调用Bean...
接下来,Spring使用Java的反射机制来实例化Bean。反射允许程序在运行时动态地获取类的信息(如类名、方法名等)并调用它们。在上述例子中,Spring会创建一个`MyClass`的实例,并根据`property`标签设置相应的属性值...