用了spring我也不觉得测试是多么容易的事
至少对我工作过程中所用的临时的测试是如此
很多时候我们要写web应用,于是我们把spring的配置放到了WEB-INF目录下
但是我们常常会遇到脱离web容器,又要用到spring里注册bean的情况
spring的test类以前试过不行,它提供的是autowire bytype的方式,而我用了多个datasource
以前老是复制一个spring的配置到默认路径下使用,调试的时候老是出现不是这个配置没改好就是那个配置没改好,特别麻烦
干脆自己做了一个获得ApplicationContext的类
如果谁有好的方法,欢迎指正,谢谢,我这方式感觉怎么都不像正解
至少对我工作过程中所用的临时的测试是如此
很多时候我们要写web应用,于是我们把spring的配置放到了WEB-INF目录下
但是我们常常会遇到脱离web容器,又要用到spring里注册bean的情况
spring的test类以前试过不行,它提供的是autowire bytype的方式,而我用了多个datasource
以前老是复制一个spring的配置到默认路径下使用,调试的时候老是出现不是这个配置没改好就是那个配置没改好,特别麻烦
干脆自己做了一个获得ApplicationContext的类
package org.xijinn.spring.util;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
/**
* 由于web中的spring配置不能在本地做测试, 又因为当多个id的class相同的时候spring自带的test类,
* 因为只支持ByType的AutoWire 所以通过这个单态来获得ApplicationContext来测试一些不需要启动Web容器的操作.
*
* @author xijinn
* @email xijinn@Gmail.COM
* @Apr 2, 2008
*/
public class ACTestUtil {
static class ApplicationContextHolder {
static String[] configLocation = {
"file:D:/Demo/WEB-INF/websvc/businessConfig.xml",
"file:D:/Demo/WEB-INF/websvc/websvcConfig.xml" };
static ApplicationContext instance = new FileSystemXmlApplicationContext(
configLocation);
}
public static ApplicationContext getInstance() {
return ApplicationContextHolder.instance;
}
}
如果谁有好的方法,欢迎指正,谢谢,我这方式感觉怎么都不像正解