applicationContent实例化

Spring的ApplicationContext是高级容器,扩展了BeanFactory,提供企业级功能如属性解析和事件传播。常用的实现包括ClassPathXmlApplicationContent(从类路径加载XML配置)、FileSystemXmlApplicationContent(从文件系统加载)和WebXmlApplicationContent(在Web应用中加载)。与BeanFactory不同,ApplicationContext在初始化时会自动实例化所有单例Bean。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • applicationContext是spring中较高级的容器,与BeanFactory类似,他可以加在配置文件中的bean,将多个bean集中在一起,当请求时分配bean.另外,它增加了企业所需要的功能,比如,从属性文件从解析文本信息和将事件传递给所指定的监听器。这个容器在 org.springframework.context.ApplicationContext interface 接口中定义。
  • ApplicationContext 包含 BeanFactory 所有的功能,一般情况下,相对于BeanFactoryApplicationContext 会被推荐使用。BeanFactory 仍然可以在轻量级应用中使用,比如移动设备或者基于 applet 的应用程序。
  • ApplicationContext 接口最常用的实现有如下三个:

       ClassPathXmlApplicationContent:该容器从xml中加载已被定义的bean,在这里xml文件路径默认在classpath下,找到并装载完成applicationContent的实例化工作.

applicationContent content=new ClassPathXmlApplicationContent("applicationContent.xml");

当用多个配置文件时使用数组的形式加载:String[] path={"applicationContent.xml","applicationContent-shiro.xml"}

applicationContent content=new ClassPathXmlApplicationContent(path);

 

       FileSystemXmlApplicationContent:该容器从xml中加载已经被定义的bean,在这里xml文件的路径为配置文件的完整的文件系统路径,找到并完成applicationContent的实例化工作.

applicationContent content=new FileSystemApplication("c:/bean.xml")

当有多个配置文件时使用数组的形式加载:String[] path={"c:/applicationContent.xml","c:/bean.xml"}

applicationContent content=new FileSystemApplication(path)

 

       WebXmlApplicationContent:从Web应用中寻找指定的XML配置文件,找到并装载完成ApplicationContext的实例化工作。这是为Web工程量身定制的,使用WebApplicationContextUtils类的getRequiredWebApplicationContext方法可在JSP与Servlet中取得IoC容器的引用。

 

  •    与BeanFactory不同的是,ApplicationContext容器实例化后会自动对所有的单实例Bean进行实例化与依赖关系的装配,使之处于待用状态。而BeanFactory容器实例化后并不会自动实例化Bean,只有当Bean被使用时BeanFactory容器才会对该Bean进行实例化与依赖关系的装配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值