springframework【2】

本文介绍了Spring框架中的Bean管理,详细阐述了BeanFactory与ApplicationContext的区别及联系,解释了Bean的实例化方式,同时还提供了多种ApplicationContext的配置方法。
摘要由CSDN通过智能技术生成

Bean的基本管理

 

Bean的基本管理

 1、BeanFactory、ApplicationContext的关系

ApplicationContext是居于BeanFactory而建立的,也具有读取Bean定义文件,维护Bean之间依赖关系等功能,除此之外,ApplicationContext还提供了一个应用程序所需的更完整的框架功能

2、BeanFactory所拥有的方法

BeanFactory负责读取Bean定义文件:管理对象的加载、生成;维护Bean对象与Bean对象之间的依赖关系;负责Bean的生命周期。对于简单的应用程序来说使用BeanFactory就已经足够来管理Bean了,在对象的管理上已经可以获得很多的方便性,BeanFactory接口包括了6中方法可以调用:

l         Boolean containsBean(String):测试BeanFactory中是否包含指定名称的Bean

l         Object getBean(String):指定Bean定义文件中设置的名称,可以取得相对应的Bean实例

l         Object getBean(String,Class):指定Bean定义文件中设置的名称,取得相对应的Bean的实例,并转换(Cast)指定的类

l         Class getType(String name):指定Bean定义文件中设置的名称,取得相对应的Bean的Class实例

l         Boolean isSingleton(String):指定Bean定义文件中设置的名称,测试指定的Bean之scope是否为Singleton

String[] getAliases(String):指定Bean定义文件中设置的名称,取得该Bean所有的别名

3、ApplicationContext所扩展的功能

例如:

l         提供更方便地取得资源文件的方法

l         提供解析文字消息的方法

l         支持国际化消息

l         ApplicationContext可以发布事件,对事件感兴趣的Bean可以接收这些事件

 4、ApplicationContext获取常用的类

l         Org.springframework.context.support.FileSystemXmlApplicationContext

      可以指定XML定义文件的相对路径或绝对路径读取定义文件

l         Org.springframework.context.support.ClassPathXmlApplicationContext

      从Classpath设置路径中读取XML定义文件

l         Org.springframework.web.context.support.XmlWebApplicationContext

      在Web应用程序中的文件架构中,指定相应位置读取定义文件。

   ApplicationContext可以读取多个Bean定义文件,可以在实例化ApplicationContext的实现类的时候以数组的方式指定Bean定义文件的位置,例如:

   ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{“aaa.xml,bbb.xml”})

 5、Bean的实例化

   A、使用默认的构造方法,也就是没有参数的构造方法来建立Bean实例

  <bean id=”hello” class=”com.itcast.HelloBean”/>

   B、通过静态工厂方法来取得某个对象,好处是调用静态工厂方法的对象不用了解对象建立的细节例如:

 

实例见:http://blog.csdn.net/kongqz/archive/2009/03/14/3990948.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值