`
Dream.V
  • 浏览: 32308 次
社区版块
存档分类
最新评论

Spring Junit 读取WEB-INF下的配置文件

 
阅读更多

假设Spring配置文件为applicationContext.xml


一、Spring配置文件在类路径下面

在Spring的java应用程序中,一般我们的Spring的配置文件都是放在放在类路径下面(也即编译后会进入到classes目录下)。

以下是我的项目,因为是用maven管理的,所以配置文件都放在“src/main/resources”目录下



这时候,在代码中可以通过


ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");

然后获取相应的bean。


如果代码想用Junit测试框架来测试,则Spring提供了对Junit支持,还可以使用注解的方式:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:applicationContext.xml"})

只需要在相应的Test类前面加上此两个注解(第二个注解用来指明Spring的配置文件位置),就可以在Junit Test类使用中Spring提供的依赖注入功能。


二、Spring配置文件在WEB-INF下面

当然在做J2EE开发时,有些人习惯把Spring文件放在WEB-INF目录(虽然更多人习惯放在类路径下面)下面;或者有些Spring配置文件是放在类路径下面,而有些又放在

WEB-INF目录下面,如下图。


这时候,在代码中就不可以使用ClassPathXmlApplicationContext来加载配置文件了,而应使用FileSystemXmlApplicationContext。

ApplicationContext applicationContext = new FileSystemXmlApplicationContext("src/main/webapp/WEB-INF/applicationContext.xml");

然后获取相应的bean。


如果代码想用Junit测试框架来测试,则Spring提供了对Junit支持,还可以使用注解的方式:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"file:src/main/webapp/WEB-INF/applicationContext.xml"}) 
只需要在相应的Test类前面加上此两个注解(第二个注解用来指明Spring的配置文件位置),就可以在Junit Test类使用中Spring提供的依赖注入功能。


下面是我的一个Spring管理下的Junit测试类:


package com.sohu.group.service.external;

import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"file:src/main/webapp/WEB-INF/applicationContext.xml"})
public class SuFriendServiceImplOverRMITest {

    @Autowired
    private SuFriendService suFriendService;
    
    @Test
    public void getUserFollowerListTest(){
        List<String> list = suFriendService.getUserFollowerList("liug_talk@163.com");
        System.out.println("------"+list);
    }
}

原文来自hibernate3例子

分享到:
评论

相关推荐

    Spring Boot源码(spring-boot-2.6.2.tar.gz)

    源码中,这个功能主要在`META-INF/spring.factories`文件内的`org.springframework.boot.autoconfigure.EnableAutoConfiguration`键下列出的所有类中实现。开发者可以自定义自动配置类,以便为特定的库或服务提供...

    采用Spring+Struts2+Hibernate框架,实现一个仿天猫购物网站的web工程。.zip

    - Web-INF:包含web.xml,定义Web应用的部署描述符,以及Struts2的配置文件。 - WEB-INF/classes:编译后的Java类文件会放在这里。 - WEB-INF/lib:项目的依赖库,包括Spring、Struts2、Hibernate等框架的jar文件。 ...

    spring boot+hibernate+thymeleaf 练习demo项目源码

    1. `pom.xml` - Maven或Gradle的构建文件,定义了项目依赖,包括spring-boot-starter-web、spring-boot-starter-data-jpa、hibernate核心库和thymeleaf的相关依赖。 2. `application.properties`/`application.yml`...

    spring核心工厂配置源码

    Spring的依赖可以通过Maven或Gradle来管理,然后在Web应用的`WEB-INF`目录下放置`springApplicationContext.xml`配置文件。 最后,为了测试和调试,我们可以使用JUnit和Mockito等工具,编写单元测试来验证Bean的...

    spring2配置

    Spring2的核心库包括`spring-beans.jar`, `spring-context.jar`, `spring-core.jar`, `spring-aop.jar`, `spring-web.jar`等。这些库提供了Spring框架的基础功能,例如依赖注入、AOP(面向切面编程)和Web支持。 2....

    我的第一个javaweb项目(未优化版本)

    5. **项目结构**:在"webproject001"这样的项目中,常见的目录结构可能包括src/main/java(存放Java源代码)、src/main/webapp(存放Web资源,如JSP页面、静态资源、WEB-INF目录下的web.xml配置文件等)、WEB-INF/...

    spring mvc 快速入门深入分析

    - 使用默认配置,Spring MVC 会自动寻找位于`/WEB-INF/resources/`下的静态资源。 - 可以通过`&lt;mvc:resources&gt;`标签指定静态资源的位置。 #### 八、请求映射到Action中的方法 Spring MVC 支持多种方式来映射请求到...

    spring mvc

    - **初始化**:读取配置文件并初始化 Spring 容器。 - **请求处理**:处理所有进入系统的 HTTP 请求。 - **响应生成**:根据处理结果生成最终的 HTTP 响应。 #### 五、Spring MVC 双亲上下文说明 在 Spring MVC 中...

    struts2+spring+hibernate整合步骤

    2. **配置Struts2**:首先,在Web应用的WEB-INF目录下创建struts.xml配置文件,定义Action、结果类型和其他Struts2配置。同时,需要在web.xml中配置Struts2的前端控制器Filter。 3. **配置Spring**:创建Spring的...

    customize springboot-starter.rar

    这通常包括创建一个`META-INF/spring.factories`文件,里面指定自动配置类和初始化器。这样,当项目引入自定义starter后,Spring Boot会自动加载这些配置,简化项目的配置工作。 3. **源码分析**: 压缩包中的源码...

    Struts2+Hibernate+Spring3.3.2环境配置

    1. **设置项目结构**:创建项目目录,如`src/main/java`存放源代码,`src/main/resources`存放配置文件,`WEB-INF`存放Web应用相关的配置和库。 2. **引入库文件**:根据描述,压缩包中包含了所有必要的jar文件,...

    Spring2.5+Struts1.3.8+Hibernate3.0整合

    @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath*:applicationContext.xml"}) public class UserServiceTest { @Autowired private UserService userService; @...

    移动ssh项目(struts+spring+hibernate+oracle).rar

    - Web应用结构:包括WEB-INF目录下的web.xml,定义了应用的部署描述符。 - 可能还包括其他资源文件,如图片、样式表、JavaScript等。 这个项目提供了学习和实践SSH框架与Oracle数据库集成的实例,对于Java Web...

    ssmDemo.zip

    2. **配置文件编写**:理解Spring、SpringMVC和MyBatis各自的配置元素,如bean的声明、扫描包、数据源配置、SqlSessionFactory、Mapper配置等。 3. **注解驱动编程**:SpringMVC和MyBatis中的注解使用,如@...

    17_ant_完整的用户管理小项目_搭建了spring_mvc的框架

    3. **项目结构**:在Ant和Spring MVC的结合中,项目通常会有如下的目录结构:src/main/java(存放Java源代码)、src/main/resources(存放配置文件)、Web-INF(存放Web应用相关的配置和库文件)、WEB-INF/web.xml...

    网上商城项目.zip

    4. **项目结构**:通常,SSH项目会有明确的目录结构,包括src/main/java(存放Java源代码)、src/main/resources(配置文件)、Web-INF(Web应用的配置和库文件)、WEB-INF/classes(编译后的Java类)、WEB-INF/lib...

    webwork+spring+hibernate网络购物系统

    7. **部署相关的文件**:如WEB-INF目录下的web.xml,定义了应用的部署描述符。 8. **测试用例**:JUnit或其他测试框架编写的单元测试和集成测试。 综上所述,“WebWork+Spring+Hibernate网络购物系统”是一个典型的...

    基于SSM框架的房屋租赁网站

    - `webapp/WEB-INF`:存放Web应用相关的资源,如`web.xml`部署描述符、Spring MVC的配置文件等。 - `webapp/WEB-INF/views`:视图文件夹,通常存放JSP或Thymeleaf等视图模板。 5. **开发流程**:在开发过程中,...

    Maven+Sprint MVC简单入门例子

    &lt;artifactId&gt;spring-webmvc &lt;version&gt;5.3.23 &lt;!-- 其他相关依赖,如 JUnit、Servlet API 等 --&gt; &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-compiler-plugin &lt;version&gt;3.8.1 ...

    springMVC+MyBatis+Oracle+Web实现增删改查完整案例+数据库数据)

    - `src/main/webapp`:存放Web相关的资源,如静态文件(CSS、JS、图片)、JSP或HTML页面、WEB-INF目录下的`web.xml`部署描述符。 6. **配置与集成**: 配置SpringMVC与MyBatis的集成,需要在Spring的配置文件中...

Global site tag (gtag.js) - Google Analytics