BeanFactory负责定义文件,管理对象的加载,生成,维持与对象的依赖关系,负责bean的生命周期
自己根据书上的解释,写了一些例子:
一:常用方法
1:boolean containsBean()
package testbean;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
public class BeanFactoryTest {
Resource rs = new ClassPathResource("beans-config.xml");
BeanFactory bean = new XmlBeanFactory(rs);
boolean isnull = bean.containsBean("hellobean");//containsBean()判断在beans-config.xml中是否包含名称为hellobean的bean.返回值类型为布尔
public static void main(String args[]){
boolean isnull = new BeanFactoryTest().isnull;
System.out.print(isnull);
}
}
2:Object getBean()
在第一个spring中的例子中,就能找到getBean()的使用.
package test;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class SpringDemo {
public static void main(String args[]){
Resource rs = new ClassPathResource("beans-config.xml");//获取xml路径
BeanFactory factory = new XmlBeanFactory(rs);//建立BeanFactory实例
HelloWorld hello = (HelloWorld) factory.getBean("hellobean");//使用getBean方法获得HelloWorld类的实例
// System.out.print(hello.getHellobean());
Business business = (Business) factory.getBean("business");//根据bean的id获取xml中指向的对象
business.sava();//执行Business中的save()方法
}
}
]
3:...未完待续
二:使用ApplicationContext取代BeanFactory管理bean
//推荐使用
优点:
1:提供更好的访问资源文件的方式
2:提供解析文字消息的方法
3:支持国际化消息
4:可以发布事件
package testbean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import test.HelloWorld;
public class Applicationtest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans-config.xml");
HelloWorld hello = (HelloWorld)context.getBean("hellobean");
System.out.print(hello.getHellobean());
}
}
注意:使用ApplicationContext可以实现同时读取多个资源文件(需要添加spring jar包中的spring-context.jar,使用myeclipse的话已自动添加)
(1):数组形式
ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"beans-config.xml","beans-config2.xml"});
(2):路径
可以使用file:/ classpath*: http:// 等URL
ApplicationContext context = new ClassPathXmlApplicationContext("classpath*:beans-config.xml");
表示所有的classpath为前置路径的都匹配
(3):使用*字符
ApplicationContext context = new ClassPathXmlApplicationContext("beans*.xml");
表示所有以beans开头的文件都匹配,需要注意的是只在实际文件系统中有效,如资源文件在jar文件中则无效.
另一种实现一次读多个资源文件的方式:
在一个xml文件中,引用其他xml文件,实现调用该xml文件,顺带调用其引用的xml文件
<beans>
<import resource="beans-config2.xml"/>
<import resource="beans-config3.xml"/>
<bean id="hellobean"
class="test.HelloWorld">
<property name="hellobean">
<value>hello!</value>
</property>
</bean>
</beans>
需要注意:使用此种方法,需要将import放在beans标签之间,且一定要放在bean标签之前
分享到:
相关推荐
BeanFactory提供了加载配置元数据、实例化bean、注入依赖、管理bean生命周期等基本功能。当我们在配置文件中定义bean,并通过BeanFactory加载这些配置时,BeanFactory会根据配置创建bean实例。BeanFactory在需要时才...
首先,BeanFactory是Spring中最基本的bean容器,它提供了对bean实例化、配置和管理的基本功能。通过BeanFactory,开发者可以注册bean定义,然后在运行时按需获取bean实例。BeanFactory支持延迟初始化,这意味着bean...
接下来,`obtainFreshBeanFactory()`方法创建了一个`ConfigurableListableBeanFactory`,它是Spring的Bean工厂,负责Bean的创建、管理和查找。在这个过程中,BeanDefinition的装载工作开始启动。 `...
在Spring中,ApplicationContext(应用程序上下文)是容器的核心,负责配置和管理应用中对象的生命周期和依赖关系。在实际开发过程中,经常需要从各个角落获取到这个ApplicationContext对象,以便于能够使用Spring...
BeanFactory是Spring中最基本的依赖注入(DI)容器,提供了对bean的生命周期管理以及装配。在这个文档中,我们将深入探讨BeanFactory如何创建和管理对象。 ### 1. BeanFactory接口 BeanFactory接口是所有Spring IoC...
2. **依赖注入**:BeanFactory可以根据bean之间的依赖关系,自动装配bean的属性,无需开发者手动设置。 3. **生命周期管理**:提供bean的初始化和销毁方法调用,允许开发者自定义bean的生命周期行为。 4. **作用域...
在Java的Spring框架中,`BeanFactory`和`ApplicationContext`是两个非常重要的核心概念,它们是IoC(Inversion of Control,控制反转)容器的实现,用于管理应用程序中的对象和依赖关系。理解这两个容器的区别和用途...
在Spring框架中,Bean的生命周期管理和ApplicationContext的应用是两个核心概念,它们对于理解Spring如何管理和协调应用中的对象至关重要。本文将深入探讨这两个主题,并结合国际化(i18n)和事件传递来阐述它们在...
`BeanFactory`是Spring框架中最基础的bean管理容器,它是所有更高级别的容器(如`ApplicationContext`)的基类。它负责实例化、配置、存储和管理bean。在实际的Spring框架中,`BeanFactory`接口提供了许多方法,如`...
在Spring框架中,BeanFactory是核心的IoC(Inversion of Control)容器接口,它负责管理和维护Bean的生命周期。BeanFactory提供了对Bean的创建、初始化、销毁等操作的支持,是Spring容器的基础。当我们通过XML、Java...
在本篇文章中,我们将深入探讨剩余的重要概念——BeanFactory,它是ApplicationContext的基础,同时也是Spring中管理Bean的基本接口。 BeanFactory接口是Spring的核心,它定义了一系列方法来管理和控制Bean的生命...
在Spring框架中,Bean的管理是其核心特性之一,它涉及到Bean的创建、初始化、装配以及销毁等整个生命周期过程。本课件主要涵盖了以下几个关键知识点: 1. **控制反转(IoC)和依赖注入(DI)**:Spring的核心设计...
在早期版本中,主要通过BeanFactory和ApplicationContext两个工厂类来管理Bean的生命周期。ApplicationContext是BeanFactory的子接口,提供了更为丰富的功能。 2. Spring的Bean管理(XML方式): 在基于XML的配置...
在Spring框架中,`ApplicationContext`是一个非常重要的接口,它提供了加载和管理Bean定义,以及获取Bean实例的功能。本文将深入探讨如何在Spring中获取`ApplicationContext`的公用方法,并结合提供的两个文件名`...
- **BeanFactory**:它是 Spring 容器的基本实现,负责实例化、定位和配置应用程序中的对象,即 Bean。 - **BeanDefinition**:表示 Bean 的定义,包含了 Bean 的元数据,如 Class 信息、依赖关系等。 - **Bean的...
在 Spring 框架中,BeanFactory 是一个核心组件,负责管理和实例化 Bean。Spring 3 中提供了三种实例化 BeanFactory 的方法,下面将详细介绍这三种方法。 第一种方法:从文件系统资源实例化 BeanFactory 在 Spring...
ApplicationContext通过实现BeanFactory接口,不仅能够初始化和管理Bean,还能够处理事件、国际化的消息、资源加载等。 1. **配置加载**: ApplicationContext可以从XML文件、Java配置类或者@ComponentScan注解中...
### Spring2.5 IoC(控制反转...通过使用`BeanFactory`或`ApplicationContext`接口,可以方便地管理和配置应用程序中的对象。此外,通过灵活的配置方式(如XML配置),开发者可以根据项目需求自由选择合适的配置方法。
在实际开发中,开发者可以根据需求选择适合的配置方式,利用Spring的BeanFactory或其高级版本ApplicationContext,灵活管理应用中的bean。同时,通过了解BeanFactory解析XML的过程,我们可以更好地优化配置,提高...
ApplicationContext在加载配置文件时即创建Bean实例(对于单例Bean),而BeanFactory则在首次getBean时才初始化。在实际应用中,ApplicationContext更为常用,因为它提供了更丰富的功能和更好的上下文信息。 依赖...