今天重新看了下spring,用eclipse建spring项目测试IOC的时候,发现了一个问题。
这是我的文件结构
测试类位置:
文章图片
配置文件位置:
文章图片
这是测试类代码:
public class TestDi {
@Test
public void testDiMvc() {
ApplicationContext ac = new ClassPathXmlApplicationContext("resources/spring-ioc.xml");
UserInfoController userInfoController = (UserInfoController) ac.getBean("uc");
userInfoController.show();
}
}
然后问题来了,读不到文件! 接下来就是各种问人百度改路径,发现各种不行,崩溃了快!!!
终于!!改成 “/spring-ioc.xml” 后可以读到了。
public class TestDi {
@Test
public void testDiMvc() {
ApplicationContext ac = new ClassPathXmlApplicationContext("/spring-ioc.xml");
UserInfoController userInfoController = (UserInfoController) ac.getBean("uc");
userInfoController.show();
}
}
百思不得其解,配置文件明明在src/resources/下,怎么就变成根路径了(黑人问号???)
查了好久,终于在一篇博客找到了答案==》
链接:[https://blog.csdn.net/jbxiaozi/article/details/7367980]。
原因:
【eclipse中的路径问题】在eclipse中,如果把包设置成source folder,编译后目录下的文件就会直接在WEB-INF/classes下即变成了根目录,和src一样source folder是个虚目录,编译后就不存在了,里面的东西是和src放一起的。我屮艸芔茻!!!
推荐阅读
- Java|Java基础——数组
- 人工智能|干货!人体姿态估计与运动预测
- java简介|Java是什么(Java能用来干什么?)
- Java|规范的打印日志
- Linux|109 个实用 shell 脚本
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- Spring注解驱动第十讲--@Autowired使用
- SqlServer|sql server的UPDLOCK、HOLDLOCK试验
- jvm|【JVM】JVM08(java内存模型解析[JMM])
- 技术|为参加2021年蓝桥杯Java软件开发大学B组细心整理常见基础知识、搜索和常用算法解析例题(持续更新...)