当前位置: 首页 > 面试题库 >

如何从主应用程序调用服务以调用Spring Boot?

裴浩歌
2023-03-14
问题内容

我正在构建一个将从命令行调用的Spring Boot应用程序。我将一些参数传递给应用程序,但是在从此类中调用服务时遇到问题:

@SpringBootApplication
public class App{

    public static void main(String[] args) {

        SpringApplication.run(App.class, args);

        App app = new App();
        app.myMethod();    
    }

    @Autowired
    private MyService myService;

    private void myMethod(){
        myService.save();
    }
}

我正在尝试从内部调用方法,但出现错误:

Exception in thread "main" java.lang.NullPointerException
at com.ef.Parser.App.myMethod(Application.java:26)
at com.ef.Parser.App.main(Application.java:18)

问题答案:

您可以创建一个实现CommandLineRunner的类,并在应用启动后调用该类

@Component
public class CommandLineAppStartupRunner implements CommandLineRunner {
    @Autowired
    private MyService myService;

    @Override
    public void run(String...args) throws Exception {
       myService.save();

    }
}

您可以在这里获得更多信息



 类似资料:
  • 我正在尝试向asmx soap web服务发送一些数据,一直在尝试,但确实成功发送了。我得到的错误是: 08-13 20:51:12.571:带系统。err(8885):SoapFault-faultcode:“soap:Server”faultstring:“服务器无法处理请求--- 以下是web服务URL:http://87.248.129.182:8090/PostPhotoInfo.asm

  • 我需要帮助在外部服务器上运行/调试我的GWT应用程序,而不是使用默认的jetty服务器。我读了几个与这个问题相关的主题,例如。 > 在哪里编写gwt-noserver选项以避免jetty? 如何使用GWT和(常规servlet)Jetty后端设置eclipse http://www.gwtproject.org/doc/latest/devguideCompilinganddebugging.ht

  • 我有一个通过ClickOnce (VS 2012)部署到文件共享的windows应用程序。它被配置为一个在线应用程序(没有安装在客户端)。我可以通过客户机运行这个应用程序,只需指向文件共享并双击该文件。我遇到的问题是在客户端(客户端实际上是一个服务器,Windows Server 2008)上运行这个任务。但是,如果我创建一个调用ClickOnce应用程序的批处理文件,任务计划程序可以成功调用该批

  • 问题内容: 我正在使用GWT作为Web开发框架。我需要从我的GWT客户端代码访问一些REST服务。我还需要解析JSON(或XML),这是这些服务的响应格式。哪个是解决此问题的最佳方法? 提前致谢。 问题答案: 您可以使用标准GWT调用REST服务(或者如果需要在另一个域上调用服务)。 随着JSON响应字符串,你可以调用获得,它可以是一个,等等,这是在所有可用的这个包。

  • 问题内容: 我想从Java应用程序调用Servlet。问题是,该调用似乎未到达Servlet。我没有收到任何错误,但是没有到达Servlet中的第一个输出“ doPost”。如果我在Web浏览器中打开URL,我当然会得到如下错误:不支持GET等。但是至少我知道发生了一些错误。 我使用以下代码(ActionPackage类仅包含一个Vector参数,并且可序列化): Java应用程序: Servle

  • JSON似乎打印到浏览器窗口,所以我不完全确定这种方法有什么问题?请谁能提供一些帮助,为什么这可能不起作用? 谢谢