无法调用getBean()




我在按步骤配置了ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
但是无法调用context.getBean(beanName);
我查找了资料,也修改了maven项目的ignore,勾除了我这个web maven
我在pom.xml中也引用类service 的maven项目,但是都不行
请老师指点一下
package com.imooc.hospital.global;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class DispatcherServlet extends GenericServlet {
private ApplicationContext context;
@Override
public void init() throws ServletException {
super.init();
context = new ClassPathXmlApplicationContext("spring.xml");
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
/**
* /user/add.do /login.do
* userController
* public void add(HttpServletRequest request,HttpServletResponse response)
*
*/
//提取url并且去掉第一个“/”
String path = request.getServletPath().substring(1);
String beanName = null;
String methodName = null;
int index = path.indexOf("/");
if (index != -1) {
beanName = path.substring(0, index) + "Controller";
methodName = path.substring(index + 1, path.indexOf(".do"));
} else {
beanName = "selfController";
methodName = path.substring(0, path.indexOf(".do"));
}
Object obj = context.getBean(beanName);
}
}11
收起
正在回答
1回答
粘贴测试同学的代码,没有出现同学说的这个情况呀:运行效果如下。

建议同学新建一个文件,重新把代码粘一下试试呢?或者新建一下项目。把代码粘过试试。
祝学习愉快。
SSM主流框架入门与综合项目实战2018版
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星