`
have_life
  • 浏览: 152318 次
社区版块
存档分类
最新评论

如何去取ContextConfiguration

    博客分类:
  • java
 
阅读更多
我们平时写test去测试Spring一起的程序时,一般都要加载context,然后再取bean之类。

写法如下:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/services-test-config.xml"})
public class MySericeTest {

  @Autowired
  MyService service;
...

}



现在的问题是,我要获取一个bean,但是上面这种通过annotation申明xml配置文件的方式,和我们原来的那种(如下),那光光写在annotation,那我怎么通过context的reference去获取bean呢?


解决办法
其实申明一个context的成员变量,autowired一下就ok了
@Autowired
ApplicationContext context;



package com.test;

import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;

public class SpringMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		SpringBean bean = null;
		XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));
		bean = (SpringBean)factory.getBean("test1");
		bean.sayHello();
		
		ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
		bean = (SpringBean)act.getBean("test1");
		bean.sayHello();
		
		factory = new XmlBeanFactory(new FileSystemResource("F:\\ccc\\workspace_zuhe\\Test\\src\\applicationContext.xml"));
		bean = (SpringBean)factory.getBean("test1");
		bean.sayHello();
	}

}





--------------------------------------

如果有多个xml的配置文件:
@ContextConfiguration(locations = {"classpath:com/xxx/aaa/applicationContext.xml",
                                    "classpath:com/xxx/aaa/common-config.xml",
                                    "classpath:com/xxx/aaa/applicationContext-dao.xml",})



分享到:
评论

相关推荐

    读取webroot文件下的属性文件

    在Web开发中,"webroot"(Web根目录)是一个重要的概念,它是Web服务器对外提供服务的根目录,存放着网站的静态资源、HTML、CSS、JavaScript文件以及配置文件等。其中,属性文件(通常为.properties格式)是Java开发...

    Spring3单元测试和集成测试

    在Spring3中,我们可以使用JUnit作为基础测试框架,配合Spring的`@ContextConfiguration`注解加载应用上下文,`@Autowired`注解注入依赖,以及`@Test`注解定义测试方法。例如,我们可以创建一个测试类,通过`@...

    Spring In Action-2.1-01-@Component注解

    import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class)//Spring的Junit测试,会在...

    Spring_单元测试_2种写法

    本文介绍了Spring单元测试的2种写法,第一种写法使用AbstractDependencyInjectionSpringContextTests抽象类,第二种写法使用@RunWith(SpringJUnit4ClassRunner.class)和@ContextConfiguration注解。两种写法都可以...

    Spring Junit单元测试加载配置文件失败问题

    当我们在单元测试中使用@ContextConfiguration加载配置文件时,Spring Junit将只能找到src/test/resources目录下的配置文件,无法找到src/main/resources目录下的配置文件。这将导致单元测试时无法注入类,无法正常...

    使用 Spring 2.5 TestContext 测试框架

    首先,Spring TestContext框架的核心是`@ContextConfiguration`注解,它用于指定测试类中应用上下文的配置。你可以通过此注解提供XML配置文件的位置,或者使用Java配置类。例如: ```java import org.spring...

    基于Spring的JUnit单元测试

    Spring提供了一个名为`@ContextConfiguration`的注解,用于指示测试类加载的上下文配置。通过这个注解,我们可以指定Spring配置文件的位置,例如: ```java @RunWith(SpringRunner.class) @ContextConfiguration(...

    SSM中进行单元测试Junit4+spring-test所需jar包

    它提供了与Spring容器集成的测试工具,如`@ContextConfiguration`用于加载配置,`@Autowired`自动注入依赖,以及`@MockBean`和`@SpyBean`来创建模拟对象。引入spring-test模块(通常为spring-test-4.x.x.jar或更高...

    Spring整合Junit框架进行单元测试Demo

    Spring提供了`@ContextConfiguration`和`@Autowired`等注解,用于加载和注入配置,以便在测试环境中创建和管理bean。`@ContextConfiguration`用来指定上下文配置文件的位置,`@Autowired`则自动将需要的bean注入到...

    Spring整合JUnit示例Demo

    这里,`@RunWith(SpringJUnit4ClassRunner.class)`指定了测试运行器,`@ContextConfiguration(locations = {"classpath:applicationContext.xml"})`则指定了Spring配置文件的位置。`@Autowired`注解允许我们在测试类...

    jTester使用指南(带书签).pdf

    - **步骤**:通过 `@RunWith(SpringRunner.class)` 和 `@ContextConfiguration` 注解来启动 Spring 应用上下文。 **5.2 使用 @AutoBeanInject 让框架自动查找和注册需要的 bean** - **示例代码**: ```java ...

    spring test

    对于单元测试,Spring Test支持`@RunWith(SpringRunner.class)`,这个注解会将测试运行器设置为SpringJUnit4ClassRunner或SpringJUnit5ClassRunner(取决于JUnit版本),确保每个测试方法都能获得一个独立的Spring...

    spring配置实例详解代码和测试

    在测试方面,Spring提供了`@ContextConfiguration`和`@Autowired`等注解来协助进行单元测试和集成测试。例如: ```java @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:...

    org.springframework.test-3.0.2.RELEASE.jar

    创建一个基于Spring的JUnit测试类,我们可以看到如何利用`@RunWith`和`@ContextConfiguration`注解来加载应用上下文,并通过`@Autowired`注解注入依赖: ```java import org.junit.Test; import org.spring...

    Spring是如何整合JUnit的?JUnit源码关联延伸阅读.doc

    在 SpringRunner 中,Spring 会通过 `@ContextConfiguration` 或 `@WebAppConfiguration` 等注解来加载测试所需的上下文配置,创建一个测试环境。这样,测试类中的bean可以通过@Autowired等注解获得,就像在实际应用...

    spring集成TestNG与Mockito框架单元测试方法

    Spring与TestNG的集成通常通过`@ContextConfiguration`注解来加载Spring上下文: ```java import org.springframework.test.context.ContextConfiguration; import org.testng.annotations.Test; @...

    spring-test.jar

    spring-test.jar 用在junit4以上 在类上写 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"WIN-INF/config/applicationContext.xml" })

Global site tag (gtag.js) - Google Analytics