BeanFactory 和ApplicationContext 有什么区别?

BeanFactory 可以理解为含有bean 集合的工厂类。BeanFactory 包含了种bean 的定义,以便在接收到客户端请求时将对应的bean 实例化。

BeanFactory 还能在实例化对象的时生成协作类之间的关系。此举将bean 自身与bean 客户端的配置中解放出来。BeanFactory 还包含了bean 生命周期的控制,调用客户端的初始化方法(initializationMethods)和销毁方法(destruction Methods)。

从表面上看,ApplicationContext 如同bean factory 一样具有bean 定义、bean 关联关系的设置,根据请求分发bean 的功能。但ApplicationContext 在此基础上还提供了其他的功能。

1.提供了支持国际化的文本消息

2.统一的资源文件读取方式

3.已在监听器中注册的bean 的事件

以下是三种较常见的ApplicationContext 实现方式:

1、ClassPathXmlApplicationContext:从classpath 的XML 配置文件中读取上下文,并生成上下文定义。应用程序上下文从程序环境变量中取得。

ApplicationContext context = new ClassPathXmlApplicationContext(“application.xml”);

2、FileSystemXmlApplicationContext :由文件系统中的XML 配置文件读取上下文。

ApplicationContext context = new FileSystemXmlApplicationContext(“application.xml”);

3、XmlWebApplicationContext:由Web 应用的XML 文件读取上下文。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值