applicationContent实例化

  • 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进行实例化与依赖关系的装配。

你可能感兴趣的:(Spring)