ApplicationContext
来源:互联网 发布:常见软件生命周期模型 编辑:程序博客网 时间:2024/05/24 06:34
如果说BeanFactory是Spring的心脏,那么Application就是完整的身躯。ApplicationContext就是由BeanFactory派生出来的。
1、ApplicationContextApplicationContext的主要实现类是ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,前者默认从类路径加载配置文件,后者默认从文件系统加载文件。
如果配置文件放在类路径下,直接使用ClassPathXmlApplicationContext实现类:
ApplicationContext ctx=new ClassPathXmlApplicationContext("com/techman/context/beans.xml");
这里的参数等同于:"classpath:com/techman/context/beans.xml"
如果配置文件在文件系统的路径下,则可以优先考虑使用FileSystemXmlApplicationContext实现类:
ApplicationContext ctx=new FileSystemXmlApplicationContext("com/techman/context/beans.xml");
这里的参数等同于:"file:com/techman/context/beans.xml".
还可以指定一组配置文件,Spring自动将多个配置文件在内存中整合成一个配置文件:
ApplicationContext ctx=new ClassPathXmlApplicationContext(new String[]{"conf/bean1.xml","conf/bean2.xml"});
2、AnnotationConfigApplicationContext
直接实例:
AnnotationConfigApplicationContext将加载Beans.class中的Bean定义并调用Beans.class中实现的方法实例化Bean,启动容器并装配Bean.
3、WebApplicationContext
WebApplicationContext是专门为Web应用准备的,它允许从相对于web根目录的路径中加载配置文件完成初始化工作。
WebApplicationContext扩展了ApplicationContext,WebApplicationContext定义了一个常量ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,在上下文启动时,我们可以直接通过下面的语句从web容器中获取WebApplicationContext:
WebApplicationContext wac=(WebApplicationContext)servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
4、ConfigurableWebApplicationContextConfigurableWebApplicationContext扩展了WebApplicationContext,它允许通过配置的方式实例化WebApplicationContext,它定义了两个重要的方法:
setServletContext(ServletContext servletContext):为Spring设置Web应用上下文,以便两者整合。
setConfigLocation(String[] configLocations)设置Spring配置文件地址,一般情况下,配置文件地址是相对于Web根目录的地址,如/WEB-INF/techman-dao.xml等。也可以使用classpath:com/techman/context/techman-dao.xml等格式。
5、Spring为使用WebApplicationContext的Servlet和Web容器监听器:
org.springframework.web.context.ContextLoaderServlet;
org.springframework.web.context.ContextLoaderListener;
这里是web.xml启动WebApplicationContext的配置:
如果在不支持容器监听器的低版本Web容器中,我们可采用ContextLoaderServlet完成相同的工作:
6、Log4j的配置
由于WebApplicationContext需要使用日志功能,用户可以将log4j.properties放置在类路径下,这样就会自动启动。如果放在其他地方,必须在web.xml中指定Log4j配置文件的位置。Spring为启动Log4j引擎提供了两个类og4jConfigServlet和Log4jConfigListener,不管哪种方式都必须保证能够在装载Spring配置文件前先装载Log4J配置信息。
7、使用标注@Configuration的Java类提供配置信息
方式如下:
http://bbs.codeweb.cn/thread-5887-1-1.html
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- applicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext
- ApplicationContext ApplicationContext ServeletContext
- ApplicationContext小记
- POJ 1328 Radar Installation
- poj1703 Find them, Catch them 种类并查集
- DWR 整合
- ECShop - 数据库操作类
- 大型网站的负载均衡器、db proxy和db
- ApplicationContext
- 微软面试100题之第7题
- AJAX框架介绍
- 运算符优先级
- 找出MXN数组中所有不相邻元素,并求出它们的和(相邻的数:前一个数是偶数,后一个数是素数)
- 一个求两个数最大公约数的算法
- POJ 2109 Power of Cryptography
- Spring security学习笔记四
- Android新浪微博客户端(一)——主框架搭建