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

标签 java spring spring-boot

我正在构建一个将从命令行调用的 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();
    }
}

我试图从 main 中调用一个方法,但出现错误:

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();

    }
}

您可以获得有关此 here 的更多信息

关于java - 如何从主应用程序调用 Spring Boot 调用服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49698963/

相关文章:

java - 查询执行时间与完成 Java 查询调用之间的差异

返回 JAXB 带注释的对象时,具有非标准的 Spring Boot RequestMapping 会产生返回 406 错误的值

java - h2 数据库从单独的线程访问测试数据

spring-security - 如何使用 OAuth2 通过 Spring 获取自定义 Principal 对象?

java - 使用 New Relic 的 Spring Boot 无需修改依赖项

java - org.apache.struts.action.ActionMessage 无法转换为 org.apache.struts.action.ActionError

java - 如何在GWT中为BlurEvent正确添加UiHandler?

java - JPopupMenu 菜单项和组件

java - 在 REST Web 服务内的请求/响应场景中使用 Kafka

java - Spring Boot 将文本/javascript 序列化为 JSON