Spring,正在使用新的ClassPathXmlApplicationContext,并且在找不到applicationContext.xml和其他文件时出错?

Spring,正在使用新的ClassPathXmlApplicationContext,并且在找不到applicationContext.xml和其他文件时出错?,spring,dependency-injection,annotations,Spring,Dependency Injection,Annotations,我试图遵循本教程:在我的应用程序中使用注释依赖项注入。我像教程中那样设置bean,然后尝试在MainController类(一个处理为我的SpringWebMVC应用程序生成特定页面的控制器类)中获取bean的实例。。我一直在 SEVERE: Servlet.service() for servlet spring threw exception java.io.FileNotFoundException: class path resource [WEB-INF/applicatio

我试图遵循本教程:在我的应用程序中使用注释依赖项注入。我像教程中那样设置bean,然后尝试在MainController类(一个处理为我的SpringWebMVC应用程序生成特定页面的控制器类)中获取bean的实例。。我一直在

SEVERE: Servlet.service() for servlet spring threw exception

    java.io.FileNotFoundException: class path resource [WEB-INF/applicationContext.xml] cannot be opened because it does not exist
我在主控制器中执行此操作:

    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

    BeanFactory factory = context;
    BeanIRPlus beanirPlus = (BeanIRPlus) factory
            .getBean("BeanIRPlus");
    IRPlusInterface irPlus = beanirPlus.getIRPlus();

我一直在寻找这个问题,但还没有找到解决我问题的答案。webapp/WEB-INF/中的我的applicationContext和我的spring应用程序在处理请求等之前似乎正在以其他方式工作。我曾尝试将applicationContext.xml放入WEB-INF类中,但仍然一无所获。是否有任何解决方法使其不以这种方式搜索路径,因为我认为它是在进行相对路径搜索。谢谢你的建议

这不是一个直接的答案,但还是来了

您所参考的教程是针对独立应用程序而不是web应用程序中的依赖项注入的。对于web应用程序,spring会自动加载上下文文件并初始化bean。因此,您不需要在
MainController
中指定任何行

相反,您可以这样做,在控制器中使用beanIRPlus bean

@Autowired
private BeanIRPlus beanIRPlus;

哇,好的,这让我大开眼界:),谢谢你的帮助,我现在就去试试,没有这个。。那么,如果我需要调用MainController中的方法,那么如何在MainController中实际使用bean呢?非常感谢您提供的任何建议/资源,我已经花了好几个小时来研究这方面的内容,但有时会错过一些重要的事情,比如我刚刚做的事情,因为我还在学习。。谢谢你的帮助。。我以前见过@Autowired这个东西,但在spring刚入门时,有时很难将2和2放在一起,因为每个教程似乎都在讨论一种不同的方法(可能是因为有些是针对非web的)