假设Spring配置文件为applicationContextxml
一、Spring配置文件在类路径下面
在Spring的java应用程序中,一般我们的Spring的配置文件都是放在放在类路径下面(也即编译后会进入到classes目录下)。
以下的项目,因为是用maven管理的,所以配置文件都放在“src/main/resources”目录下
这时候,在代码中可以通过
Java代码
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContextxml");
然后获取相应的bean。
如果代码想用Junit测试框架来测试,则Spring提供了对Junit支持,还可以使用注解的方式:
Java代码
@RunWith(SpringJUnit4ClassRunnerclass)
@ContextConfiguration(locations={"classpath:applicationContextxml"})
只需要在相应的Test类前面加上此两个注解(第二个注解用来指明Spring的配置文件位置),就可以在Junit Test类使用中Spring提供的依赖注入功能。
二、Spring配置文件在WEB-INF下面
当然在做J2EE开发时,有些人习惯把Spring文件放在WEB-INF目录(虽然更多人习惯放在类路径下面)下面;或者有些Spring配置文件是放在类路径下面,而有些又放在
WEB-INF目录下面,如下图。
这时候,在代码中就不可以使用ClassPathXmlApplicationContext来加载配置文件了,而应使用FileSystemXmlApplicationContext。
Java代码
ApplicationContext applicationContext = new FileSystemXmlApplicationContext("src/main/webapp/WEB-INF/applicationContextxml");
然后获取相应的bean。
如果代码想用Junit测试框架来测试,则Spring提供了对Junit支持,还可以使用注解的方式:
Java代码
@RunWith(SpringJUnit4ClassRunnerclass)
@ContextConfiguration(locations={"file:src/main/webapp/WEB-INF/applicationContextxml"})
只需要在相应的Test类前面加上此两个注解(第二个注解用来指明Spring的配置文件位置),就可以在Junit Test类使用中Spring提供的依赖注入功能。
下面是一个Spring管理下的Junit测试类:
Java代码
package comsohugroupserviceexternal;
import javautilList;
import orgjunitTest;
import orgjunitrunnerRunWith;
import orgspringframeworkbeansfactoryannotationAutowired;
import orgspringframeworktestcontextContextConfiguration;
import orgspringframeworktestcontextjunit4SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunnerclass)
@ContextConfiguration({"file:src/main/webapp/WEB-INF/applicationContextxml"})
public class SuFriendServiceImplOverRMITest {
@Autowired
private SuFriendService suFriendService;
@Test
public void getUserFollowerListTest(){
List<String> list = suFriendServicegetUserFollowerList("liug_talk@163com");
Systemoutprintln("------"+list);
}
}
从>
路径问题请注意你在form中的路径是"/"而这个"/"是针对于WEB服务器的根目录而不是你项目的根目录你可以看一下你发送的URL请求是没有项目名称的而在controller中设置的RequestMapping路径是以项目名为根目录
String path = (StringvalueOf(ThreadcurrentThread()getContextClassLoader()getResource("")))replaceAll("file:/", "")replaceAll("%20", " ")trim();
最近搞了一个springboot的项目,但是在项目部署的时候遇到一个问题:就是我将项目导出为war包,然后用java -jar 运行时,项目中文件上传的功能无法正常运行,其中获取到存放文件的目录的绝对路径的值为空,文件无法上传,试了很多方法 貌似是因
以上就是关于spring test 怎么读取web-inf下的applicationcontext全部的内容,包括:spring test 怎么读取web-inf下的applicationcontext、springmvc拦截器里面怎么获取请求路径、如何在spring boot中获取所有RequestMapping的URL路径列表集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)