我正在尝试按照本教程:http://www.vogella.de/articles/SpringDependencyInjection/article.html在我的应用程序中使用注释依赖项注入。我在教程中设置了bean等,然后尝试在我的MainController类中获取bean的实例(一个控制器类处理为我的spring web mvc应用程序生成特定页面)。我一直在
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
我在我的MainController中执行此操作:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
BeanFactory factory = context;
BeanIRPlus beanirPlus = (BeanIRPlus) factory
.getBean("BeanIRPlus");
IRPlusInterface irPlus = beanirPlus.getIRPlus();
我搜索并搜索了这个,但却找到了解决问题的答案。我的applicationContext在webapp / WEB-INF /和我的spring应用程序似乎正在工作,因为它在此之前处理请求等。我已经尝试将applicationContext.xml放在WEB-INF类中,但仍然没有。是否有任何解决方法使这不是以这种方式搜索路径,因为我认为它正在进行相对路径搜索。感谢您的任何建议
答案 0 :(得分:2)
不是一个直接的答案,但这里就是。
您引用的教程是在独立应用程序而非Web应用程序中进行依赖项注入。在Web应用程序的情况下,spring会自动加载上下文文件并初始化bean。因此,您不需要MainController
中指定的任何行。
相反,你可以做这样的事情来在你的控制器中使用beanIRPlus bean。
@Autowired
private BeanIRPlus beanIRPlus;