无法调用getBean()

无法调用getBean()

http://img1.sycdn.imooc.com//climg/5c88b6ef0001e3fd06180157.jpg

http://img1.sycdn.imooc.com//climg/5c88b6ef00013de909490523.jpg

http://img1.sycdn.imooc.com//climg/5c88b6ef0001247906650386.jpg

http://img1.sycdn.imooc.com//climg/5c88b6f000019c9905400185.jpg

我在按步骤配置了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);
    }
}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

粘贴测试同学的代码,没有出现同学说的这个情况呀:运行效果如下。

http://img1.sycdn.imooc.com//climg/5c88d43300013b1b08730432.jpg

建议同学新建一个文件,重新把代码粘一下试试呢?或者新建一下项目。把代码粘过试试。

祝学习愉快。

  • 蜜蜂仔 提问者 #1
    我也不知道怎么回事,但我重新导入一下spring-context包就可以了。
    2019-03-13 21:00:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师