问题描述:
使用ClassPathXmlApplicationContext 获得 Spring 中定义的 Bean 实例(对象)产生的bug解决
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("applicationContext.xml");
class path resource [applicationContext.xml] cannot be opened because it does not exist
原因分析:
原因很简单,applicationContext.xml未找到!
其实正常我们创建spring项目时候,在resource目录下创建配置文件不会出现这种问题。
不过,既然出现问题了,首先我们应该考虑为什么会出现?(感觉有点屁,我要是知道了还会出现吗?)
那么百度!
解决方案:
第一种:
选择resource目录,右击Mark Direcotry as 选择Resource Root
第二种
1.点击蓝色文件按钮
2.选择resources目录点击Mark as:中的resources
再次进行测试成功!
总结
介绍下五种目录类型(Mark Directory as)
- Sources 一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 Java 类和包。在规范的 maven 项目结构中,顶级目录是 src,但maven 的 src 我们是不会设置为 Sources 的,而是在其子目录src - main -java ,我们会设置java目录为 Sources。
- Tests 一般用于标注可编译的单元测试目录。而单元测试的目录是 src - test - java,我们会设置java目录为 Tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,可以看出 IntelliJ IDEA 对 maven 项目的支持是比彻底的。
- Resources 一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src - main -resources,我们会设置resources 目录为 Resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。
- Test Resources 一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:src - test -resources,我们会设置resources 目录为 Test Resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。
- Excluded 一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。
此段介绍引用:
https://www.cnblogs.com/hongchengshise/p/10489905.html