在 Spring 框架中使用 registerShutdownHook()

新手上路,请多包涵

我严格按照在线教程进行操作。 http://www.tutorialspoint.com/spring/spring_bean_life_cycle.htm

但是当我到达此行时使用 Eclipse 时出现错误:context.registerShutdownHook();

蚀 说:

“此行有多个标记 - 语法错误,插入“AssignmentOperator Expression”以完成赋值 - 语法错误,插入“;”以完成语句 - ApplicationContext 类型未定义方法 registerShutdownHook()”

我完全按照本教程进行操作。我所有的变量名都一模一样,我的代码和他的一模一样。我不确定哪里出了问题。

我做错了什么,可以做些什么来解决这个问题,以便我可以继续教程。

 package com.tutorialspoint;

import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainApp
{
    public static void main(String[] args)
    {
        AbstractApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");

        HelloWorld obj = (HelloWorld)context.getBean("helloWorld");
        obj.getMessage();
        context.registerShutdownHook();
    }
}

原文由 Alexander Ryan Baggett 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 666
2 个回答

对于错误,上下文似乎是 ApplicationContext 的对象,而在教程中它应该是 AbstractApplicationContext 的对象

我只是猜测你写了这个

public class MainApp {
   public static void main(String[] args) {

      ApplicationContext context =
                          new ClassPathXmlApplicationContext("Beans.xml");//error here

      HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
      obj.getMessage();
      context.registerShutdownHook();
   }
}

原文由 Ankur 发布,翻译遵循 CC BY-SA 3.0 许可协议

根据 spring 文档 http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-nature ,您应该使用 AbstractApplicationContext 而不是 ApplicationContext

 import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public final class Boot {

 public static void main(final String[] args) throws Exception {
  AbstractApplicationContext ctx
      = new ClassPathXmlApplicationContext(new String []{"beans.xml"});

  // add a shutdown hook for the above context...
  ctx.registerShutdownHook();

  // app runs here...

  // main method exits, hook is called prior to the app shutting down...
 }
}

原文由 nikhilgupta86 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题