Spring中的Bean容器

spring容器继承关系图:

说明:

ApplicationContext是BeanFactory的子类,与BeanFactory功能相比,功能更加丰富。

平时常用的Bean容器有3个,它们都是ApplicationContext的子类,如图所示。

  • ClassPathXmlApplicationContext主要用在在类路径加载xml文件的场景,该容器从 XML 文件中加载已被定义的 bean。在这里,你不需要提供 XML 文件的完整路径,只需正确配置 CLASSPATH 环境变量即可,因为,容器会从 CLASSPATH 中搜索 bean 配置文件。
  • FileSystemXmlApplicationContext主要用在在文件系统加载xml文件的场景,该容器从 XML 文件中加载已被定义的 bean。在这里,你需要提供给构造器 XML 文件的完整路径。
  • XMLWebApplicationContext主要用在在Web中加载xml文件的场景,该容器会在一个 web 应用程序的范围内加载 XML 文件中已被定义的 bean。

代码示例: 

ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); 
ApplicationContext context = new FileSystemXmlApplicationContext 
("C:/myworkspace/workspace/springtest/src/Beans.xml"); 

BeanFactory和ApplicationContext在Bean加载方面有什么不同呢?

BeanFactory是延迟加载。BeanFactory初始化完成后,并不加载任何Bean,只有在第一次获取Bean时,BeanFactory才会加载该Bean。而ApplicationContext会在启动后主动加载好单例Bean,这样,从ApplicationContext中获取Bean时效率会更高。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值