`
fuzao
  • 浏览: 17803 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

2:Bean的基本管理(ApplicationContext BeanFactory)

阅读更多
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标签之前
分享到:
评论

相关推荐

    Spring中ApplicationContext和beanfactory区别.rar

    BeanFactory提供了加载配置元数据、实例化bean、注入依赖、管理bean生命周期等基本功能。当我们在配置文件中定义bean,并通过BeanFactory加载这些配置时,BeanFactory会根据配置创建bean实例。BeanFactory在需要时才...

    day38 05-Spring的BeanFactory与ApplicationContext区别

    首先,BeanFactory是Spring中最基本的bean容器,它提供了对bean实例化、配置和管理的基本功能。通过BeanFactory,开发者可以注册bean定义,然后在运行时按需获取bean实例。BeanFactory支持延迟初始化,这意味着bean...

    Spring源码学习四:BeanDefinition装载前奏曲1

    接下来,`obtainFreshBeanFactory()`方法创建了一个`ConfigurableListableBeanFactory`,它是Spring的Bean工厂,负责Bean的创建、管理和查找。在这个过程中,BeanDefinition的装载工作开始启动。 `...

    Spring获取ApplicationContext对象工具类的实现方法

    在Spring中,ApplicationContext(应用程序上下文)是容器的核心,负责配置和管理应用中对象的生命周期和依赖关系。在实际开发过程中,经常需要从各个角落获取到这个ApplicationContext对象,以便于能够使用Spring...

    BeanFactory创建对象.docx

    BeanFactory是Spring中最基本的依赖注入(DI)容器,提供了对bean的生命周期管理以及装配。在这个文档中,我们将深入探讨BeanFactory如何创建和管理对象。 ### 1. BeanFactory接口 BeanFactory接口是所有Spring IoC...

    二、Spring源码分析——BeanFactory

    2. **依赖注入**:BeanFactory可以根据bean之间的依赖关系,自动装配bean的属性,无需开发者手动设置。 3. **生命周期管理**:提供bean的初始化和销毁方法调用,允许开发者自定义bean的生命周期行为。 4. **作用域...

    BeanFactory&&ApplicationContext;

    在Java的Spring框架中,`BeanFactory`和`ApplicationContext`是两个非常重要的核心概念,它们是IoC(Inversion of Control,控制反转)容器的实现,用于管理应用程序中的对象和依赖关系。理解这两个容器的区别和用途...

    Spring中Bean的生命周期 applicationcontext的应用(实现国际化,事件的传递)

    在Spring框架中,Bean的生命周期管理和ApplicationContext的应用是两个核心概念,它们对于理解Spring如何管理和协调应用中的对象至关重要。本文将深入探讨这两个主题,并结合国际化(i18n)和事件传递来阐述它们在...

    简单模拟Spring的beanFactory

    `BeanFactory`是Spring框架中最基础的bean管理容器,它是所有更高级别的容器(如`ApplicationContext`)的基类。它负责实例化、配置、存储和管理bean。在实际的Spring框架中,`BeanFactory`接口提供了许多方法,如`...

    Spring源码学习三:BeanFactory解析1

    在Spring框架中,BeanFactory是核心的IoC(Inversion of Control)容器接口,它负责管理和维护Bean的生命周期。BeanFactory提供了对Bean的创建、初始化、销毁等操作的支持,是Spring容器的基础。当我们通过XML、Java...

    Spring官网阅读(十三)ApplicationContext详解(下)

    在本篇文章中,我们将深入探讨剩余的重要概念——BeanFactory,它是ApplicationContext的基础,同时也是Spring中管理Bean的基本接口。 BeanFactory接口是Spring的核心,它定义了一系列方法来管理和控制Bean的生命...

    Spring中关于Bean的管理的课件

    在Spring框架中,Bean的管理是其核心特性之一,它涉及到Bean的创建、初始化、装配以及销毁等整个生命周期过程。本课件主要涵盖了以下几个关键知识点: 1. **控制反转(IoC)和依赖注入(DI)**:Spring的核心设计...

    Spring bean 管理

    在早期版本中,主要通过BeanFactory和ApplicationContext两个工厂类来管理Bean的生命周期。ApplicationContext是BeanFactory的子接口,提供了更为丰富的功能。 2. Spring的Bean管理(XML方式): 在基于XML的配置...

    spring 获得applicationcontext公用方法

    在Spring框架中,`ApplicationContext`是一个非常重要的接口,它提供了加载和管理Bean定义,以及获取Bean实例的功能。本文将深入探讨如何在Spring中获取`ApplicationContext`的公用方法,并结合提供的两个文件名`...

    BeanFactory的实例化

    在 Spring 框架中,BeanFactory 是一个核心组件,负责管理和实例化 Bean。Spring 3 中提供了三种实例化 BeanFactory 的方法,下面将详细介绍这三种方法。 第一种方法:从文件系统资源实例化 BeanFactory 在 Spring...

    三、Spring源码分析——ApplicationContext

    ApplicationContext通过实现BeanFactory接口,不仅能够初始化和管理Bean,还能够处理事件、国际化的消息、资源加载等。 1. **配置加载**: ApplicationContext可以从XML文件、Java配置类或者@ComponentScan注解中...

    Spring2[1].5_IoC(控制反转)容器之容器与Bean(附示例)

    ### Spring2.5 IoC(控制反转...通过使用`BeanFactory`或`ApplicationContext`接口,可以方便地管理和配置应用程序中的对象。此外,通过灵活的配置方式(如XML配置),开发者可以根据项目需求自由选择合适的配置方法。

    spring中的BeanFactory解析xml文件

    在实际开发中,开发者可以根据需求选择适合的配置方式,利用Spring的BeanFactory或其高级版本ApplicationContext,灵活管理应用中的bean。同时,通过了解BeanFactory解析XML的过程,我们可以更好地优化配置,提高...

    spring.doc

    ApplicationContext在加载配置文件时即创建Bean实例(对于单例Bean),而BeanFactory则在首次getBean时才初始化。在实际应用中,ApplicationContext更为常用,因为它提供了更丰富的功能和更好的上下文信息。 依赖...

Global site tag (gtag.js) - Google Analytics