以前在web环境下想直接读取spring的applicationContext,发现放在WEB-INF下的applicationContext.xml不能直接通过相对路径读取到,也就是说不能通过第一种方式读取到,第一种方式只用于进行单元测试的,而且一定要是在web项目部署后的绝对路径才行。
1.在没有WEB元素的情况下,直接在类里面通过路径获取
ApplicationContext context = new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/applicationContext.xml");
2.通过WebApplicationContextUtils获取
ServletContext sc = null; ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(sc); context = WebApplicationContextUtils.getWebApplicationContext(sc, WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
这种方式需要我们能够获取到ServletContext对象,在Web应用中,当我们监听了Web程序启动的时候,Spring会把初始化的WebApplicationContext对象绑定到当前的ServletContext中,其对应的属性名称是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,在WebApplicationContextUtils中也是通过ServletContext来获取对应的WebApplicationContext对象的,所以我们也可以直接从ServletContext中获取WebApplicationContext对象,如:
context = (ApplicationContext)sc.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
3.下面代码中的event是applicationListener中方法的一个参数
String path = event.getServletContext().getRealPath("/WEB-INF"); ApplicationContext context = new FileSystemXmlApplicationContext(path + "/applicationContext.xml");
相关推荐
1.1 ApplicationContext应用上下文获取方式 1.2 Spring提供获取应用上下文的工具 1.4 配置ContextLoaderListen
a 加入支持:添加 spring核心包、hibernate 3.6 包、 spring整合hibernate包 , 在src下建立applicationContext.xml (先建立src下便于测试hibernate)。 b 编写实体类,加入hibernate注解,编写方法类测试类,在...
Spring所需要的jar包都在里面。 内容: ...4.创建Controller类:AccountController.java,在Web下模拟账户添加请求。 5.编写applicationContext.xml配置文件,Dao装配到Service,Service装配到Controller
1.7 如何获取Spring 1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 ...
12.6.1. 在Spring环境中建立JPA 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现DAO 12.6.4. 异常转化 12.6.5. 事务管理 12.6.6. JpaDialect III. Web 13. Web框架 13.1. 介绍 13.1.1. 与...
12.6.1. 在Spring环境中建立JPA 12.6.1.1. LocalEntityManagerFactoryBean 12.6.1.2. LocalContainerEntityManagerFactoryBean 12.6.1.3. 处理多个持久化单元 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于...
12.6.1. 在Spring环境中建立JPA 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现DAO 12.6.4. 异常转化 12.7. 事务管理 12.8. JpaDialect III. The Web 13. Web MVC framework Web框架 13.1...
概念:面向切面编程,在不改变源码的情况下对方法进行增强,抽取横切关注点(日志处理,事务管理,安全检查,性能测试等等),使用AOP进行增强,使程序员只需要关注与业务逻辑编写. 专业术语 目标Target:需要增强的类 ...
12.6.1. 在Spring环境中建立JPA 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现DAO 12.6.4. 异常转化 12.7. 事务管理 12.8. JpaDialect III. The Web 13. Web MVC framework Web框架 13.1...
applicationContext.xml 一直是放置在WEB-INF目录下的就可以了,原文档后期补充的那点对这个文件的描述好像有些乱 另外,IHello等类的包随便默认哪个都行,文中该类的位置前面是factory后面就改到service中去了
12.6.1. 在Spring环境中建立JPA 12.6.2. JpaTemplate 和 JpaDaoSupport 12.6.3. 基于原生的JPA实现DAO 12.6.4. 异常转化 12.6.5. 事务管理 12.6.6. JpaDialect III. Web 13. Web框架 13.1. 介绍 13.1.1. 与...
WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。 本文后面的章节将从数据持久层->业务层->Web层的...
1.7 如何获取Spring 1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 ...
@ page import=org.springframework.web.context.support.WebApplicationContextUtils%> <%@ page import=org.springframework.context.ApplicationContext%> ServletContext sc = this.getServletConfig()....
Spring源代码解析,包括: ApplicationContext源代码解析,Spring声明式事务管理之事务开始,Spring声明式事务管理之事务提交,IOC容器,IoC容器在Web容器中的启动,Spring JDBC,Spring MVC,Spring AOP获取Proxy,...
2. 设置mybatis 配置文件:Configuration.xml, 在src_user目录下建立此文件,内容如下: 程序代码 程序代码 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ...
在Spring环境中使用YAML暴露属性 iii. 23.6.3. Multi-profile YAML文档 iv. 23.6.4. YAML缺点 vii. 23.7. 类型安全的配置属性 i. 23.7.1. 第三方配置 ii. 23.7.2. 松散的绑定(Relaxed binding) iii. 23.7.3. @...
--表示在类路径下加载hibernate.cfg.xml --> <value>classpath:hibernate.cfg.xml <!--4 创建事务管理器 aop切面--> <bean id="txManager" class="org.springframework.orm....
文章目录Spring1、Core Container(核心容器)2、Data Access3、Web4、AOP5、TestSpring 版本与 Java 版本的对应关系IoC1、XML 解析:2、根据第 1 步获取的信息,动态创建对象spring-ioc.xml文件如下User类Spring ...