J2EE for Spring在Idea里无法加载applicationContext.xml问题解决(final)

昨天写了一篇文章,解决idea中的无法加载application.xml的问题,无疑它能够解决这个问题,但是后续会带来诸多不便,假如我们删除了web-inf中的xml,那必然会报错。我们仍然使用当年eclipse里的方法,这似乎有点跟不上节奏,在idea中的web.xml中我们发现有这样一段代码:

<context-param>
        <param-name>contextConfigLocationparam-name>
        <param-value>/WEB-INF/applicationContext.xmlparam-value>
    context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListenerlistener-class>
    listener>

显然在此,idea已经为我们提供了解决的思路,而具体方案需要查阅文档才得知,关键就在这个类org.springframework.web.context.ContextLoaderListener


在此,我们将不再使用旧的加载方式:

//        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
//        employeeDao = (EmployeeDao)applicationContext.getBean("employeeDao");

而是采用这样的加载方式:

        WebApplicationContext webApplicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletContext());
        employeeDao = (EmployeeDao)webApplicationContext.getBean("employeeDao");

最终运行成功!

说明:这是在自定义的Servlet中加载这个文件!

你可能感兴趣的:(Java)