获取Sping上下文对象(ApplicationContext)的几种方式

通过xml配置文件

ClassPathXmlApplicationContext

ApplicationContext ctx = new ClassPathXmlApplicationContext("config/spring-*.xml");
ctx.getBean(beanName);

FileSystemXmlApplicationContext

通过程序在初始化的时候,导入Bean配置文件,然后得到Bean实例:

ApplicationContext oAC = new FileSystemXmlApplicationContext”applicationContext.xml”)
oAC .getBean(”bean01″);

WebApplicationContextUtil

在B/S系统中,通常在web.xml初始化bean的配置文件,然后由WebAppliCationContextUtil得到ApplicationContext.例如:

ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext sc);
// 或者
ApplicationContext ctx =  WebApplicationContextUtils.getWebApplicationContext(ServletContext sc);

getRequiredWebApplicationContext和getWebApplicationContext的区别

获取失败时候,getRequiredWebApplicationContext抛出异常,getWebApplicationContext抛出null

ApplicationObjectSupport

抽象类,它提供getApplicationContext()方法,可以方便的获取到ApplicationContext。Spring初始化时,会通过该抽象类的setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入。

WebApplicationObjectSupport

抽象类,它提供getWebApplicationContext()获WebApplicationContext

ApplicationContextAware

接口类,实现该接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 对象。Spring初始化时,会通过该方法将ApplicationContext对象注入。

赞(52) 打赏
未经允许不得转载:优客志 » JAVA开发
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏