1.ApplicationContext是在package org.springframework.context下,是spring的,spring context包下的。

applicationContext是spring的容器,里面注入了所有的配置的bean

dispatcherservlet初始化各种解析器的时候都是通过传入applicationContext对象来初始化各种resolver的。

如下:spring mvc dispatcherservlet的源码

protected void initStrategies(ApplicationContext context) {
initMultipartResolver(context);
initLocaleResolver(context);
initThemeResolver(context);
initHandlerMappings(context);
initHandlerAdapters(context);
initHandlerExceptionResolvers(context);
initRequestToViewNameTranslator(context);
initViewResolvers(context);
initFlashMapManager(context);
}

2.最常被使用的 ApplicationContext 接口实现:

  • FileSystemXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,你需要提供给构造器 XML 文件的完整路径

  • ClassPathXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,你不需要提供 XML 文件的完整路径,只需正确配置 CLASSPATH 环境变量即可,因为,容器会从 CLASSPATH 中搜索 bean 配置文件。

  • WebXmlApplicationContext:该容器会在一个 web 应用程序的范围内加载在 XML 文件中已被定义的 bean。

3.下面转自http://wiki.jikexueyuan.com/project/spring/ioc-container/spring-application-context-container.html 感谢作者

例子:

假设我们已经安装 Eclipse IDE,按照下面的步骤,我们可以创建一个 Spring 应用程序。

步骤 描述
1 创建一个名为 SpringExample 的工程, 在 src 下新建一个名为 com.tutorialspoint 的文件夹src
2 点击右键,选择 Add External JARs 选项,导入 Spring 的库文件,正如我们在 Spring Hello World Example 章节中提到的导入方式。
3 在 com.tutorialspoint 文件夹下创建 HelloWorld.java 和 MainApp.java 两个类文件。
4 文件夹下创建 Bean 的配置文件 Beans.xml
5 最后的步骤是编辑所有 JAVA 文件的内容和 Bean 的配置文件,按照以前我们讲的那样去运行应用程序。

下面是文件 HelloWorld.java 的内容:

package com.tutorialspoint;
public class HelloWorld {
private String message;
public void setMessage(String message){
this.message = message;
}
public void getMessage(){
System.out.println("Your Message : " + message);
}
}

下面是文件 MainApp.java 的内容:

package com.tutorialspoint;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new FileSystemXmlApplicationContext
("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml");
HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
obj.getMessage();
}
}

在主程序当中,我们需要注意以下两点:

  • 第一步生成工厂对象。加载完指定路径下 bean 配置文件后,利用框架提供的FileSystemXmlApplicationContext API 去生成工厂 bean。FileSystemXmlApplicationContext 负责生成和初始化所有的对象,比如,所有在 XML bean 配置文件中的 bean。

  • 第二步利用第一步生成的上下文中的 getBean() 方法得到所需要的 bean。 这个方法通过配置文件中的 bean ID 来返回一个真正的对象。一旦得到这个对象,就可以利用这个对象来调用任何方法。

下面是配置文件 Beans.xml 中的内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="helloWorld" class="com.tutorialspoint.HelloWorld">
<property name="message" value="Hello World!"/>
</bean> </beans>

如果你已经完成上面的内容,接下来,让我们运行这个应用程序。如果程序没有错误,你将从控制台看到以下信息:

Your Message : Hello World!

最新文章

  1. 拉格朗日插值法——用Python进行数值计算
  2. Highchart基础教程-图表配置
  3. [Python学习] python 科学计算库NumPy—矩阵运算
  4. SNMP开发c#,高薪诚聘,或者外包开发
  5. Linux第三次学习笔记
  6. CentOS6.5系统软件仓库及挂载NTFS
  7. POJ 2492 A Bug&#39;s Life (并查集)
  8. Android The content of the adapter has changed but ListView did not receive a notification
  9. win8 报file://CBD 0xc0000034 蓝屏
  10. PHP 5.6.6 上运行 ecshop 2.7.3 不兼容问题整合
  11. centos 6.0中文输入法的设置
  12. loadrunner时间损耗-analysis中忽略
  13. ASP.NET Core 一步步搭建个人网站(2)_一键部署和用户注册登录
  14. spring boot + vue + element-ui全栈开发入门——集成element-ui
  15. python hello 的三种方法
  16. linux上启动tomcat远程不能访问
  17. Unity Shader-描边效果
  18. pygame学习笔记(6)——一个超级简单的游戏
  19. [干货] 有了微信小程序,谁还学ReactNative?
  20. python 对shell 命令的 执行 逻辑 在一台机器上执行另一台机器的命令; 跨节点 执行命令

热门文章

  1. 用JavaScript实现歌词滚动播放
  2. [Swift通天遁地]四、网络和线程-(14)创建一个Socket服务端
  3. Appium + python -yaml配置文件
  4. jquery实现图片预加载提高页面加载速度
  5. Jquery 表单基础元素操作总结
  6. hdu---3177 Crixalis&#39;s Equipment 根据 两个元素 之间的权衡进行排序
  7. JavaScript入门二
  8. Croppic插件使用介绍-asp.net
  9. Struts2之一 初体验
  10. SQL基本操作——JOIN多表联查