gpt4 book ai didi

java - "one shot"程序可以用spring boot吗

转载 作者:行者123 更新时间:2023-11-30 07:58:36 24 4
gpt4 key购买 nike

我不知道什么是合适的术语,但“一次性”程序是指从主函数开始运行到结束并退出的程序。

通常我用这样的样板来做:

AnnotationApplicationContext ac = new AnnotationApplicationContext("myConfigClass") 
MyBean myStuff = ac.getBean("myBean");
myStuff.doSomething();
ac.flush();
ac.close();

我仍然可以像那样使用大量 Spring 功能进行编程。然而,当我尝试使用 Spring boot 时,我只是这样做(请忽略语法错误,因为我在脑海中草草写下了代码片段)——它认为它进一步简化了编程(使用更少的行和更少的注释):

@SpringBootApplication
public class App {
public static void main(String[] args){
SpringApplication.run(App.class);
}
}

但是,我注意到该程序在启动后一直作为服务,直到被明确终止。

因此,我的问题是:Springboot 是否仅适用于像 Spring MVC 或 webservice 样式服务这样的 Web 应用程序?它不是用于简单的“一次性”程序吗?一个相关的问题是:嵌入式 tomcat(或 Jitty)是否总是在使用和运行 SpringBootApplication 时启动?

希望我让自己明白了。谁能帮忙?

最佳答案

如果使用 CLR (CommandLineRunner) 运行 spring boot 应用程序,则不需要服务器

@SpringBootApplication
public class App implements CommandLineRunner {

@Autowired
private MyBean myStuff;

public static void main( String[] args ) {
SpringApplication.run(App.class, args);
}

public void run(String... strings) throws Exception {
myStuff.doSomething();
}
}

关于java - "one shot"程序可以用spring boot吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40345047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com