idea中因spring配置文件找不到引发的 FileNotFoundException 和 NoSuchBeanDefinitionException

项目环境:maven项目,目前只搭建了spring,项目中确保spring配置文件正确配置,代码中注解形式无误

报错:在用springTest去测试搭建的环境时抛出异常

                FileNotFoundException 和 NoSuchBeanDefinitionException

搜索良久无果、最后在高人指点下发现是idea中maven对spring的资源文件有着特殊管理,通俗点就是 你项目的spring-mvc.xml配置文件要通过maven告诉spring在哪里去获取它。

客观请看。。。

1、spirngTest类

idea中因spring配置文件找不到引发的 FileNotFoundException 和 NoSuchBeanDefinitionException

2、图中可以看到 classpath:spring-mvc-test.xml文件为红色标志(这个就是错误的根本原因、因为spring找不到配置文件在哪里)

    2-1、(错误示范,还原现场)不对classpath做处理,报错信息为

Caused by: java.io.FileNotFoundException: class path resource [spring-mvc-test.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330)

... 36 more

    2-2、(错误示范,还原现场)对classpath做简单处理(加入*号跳过)

idea中因spring配置文件找不到引发的 FileNotFoundException 和 NoSuchBeanDefinitionException

     做过处理后的报错信息

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.quanzhi.audit_core.monitor.service.ICpuMonitorService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1373)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1119)

... 25 more

3、上面可以看到这两个异常抛出的场景。针对这两异常,本人与度娘从清晨畅聊至晌午,一无所获。

4、请教高人

5、解决方法:直接上图

   5-1、我的项目目录

idea中因spring配置文件找不到引发的 FileNotFoundException 和 NoSuchBeanDefinitionException

    5-2、 ctrl + alt + shift + s 打开 [ project structure ] (点击idea左上角的 File 中也能看到)

    idea中因spring配置文件找不到引发的 FileNotFoundException 和 NoSuchBeanDefinitionException

上图中可以看到  resource 文件夹的颜色为 正常的文件夹,在idea中对于配置文件一般是用特殊的文件夹存放的idea中因spring配置文件找不到引发的 FileNotFoundException 和 NoSuchBeanDefinitionException,这样一来,我们只要把这个文件夹配置成 资源文件夹 在通知maven和spring就好啦。

idea中因spring配置文件找不到引发的 FileNotFoundException 和 NoSuchBeanDefinitionException


再点击右下角  applay --> ok 就好了

6、再次跑springTest就能跑通了

7、真滴是。。。。唉。。。希望能帮到大家

8、OK