通过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对象注入。