spring test 怎么读取web-inf下的applicationcontext

spring test 怎么读取web-inf下的applicationcontext,第1张

假设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路径列表集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9382088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存