# SpringBoot 项目非 web 方式启动
# springboot 1.x 中以非 web 方式启动
# 启动方式1
SpringApplication app = new SpringApplication(Application.class);
app.setWebEnvironment(false);// 设置ApplicationContext类型
ApplicationContext ctx = app.run(args);
# 启动方式2
@SpringBootApplication
public class Application implements ApplicationRunner{
public static void main(String[] args) {
new SpringApplicationBuilder()
.sources(Application.class).web(false).run(args);
}
@Override
public void run(ApplicationArguments args) throws Exception {
while(true) {
System.out.println("now is " + new Date().toLocaleString());
Thread.sleep(1000);
}
}
}
# springboot 2.0 中以非 web 方式启动
web(false)/setWebEnvironment(false) is deprecated and instead Web-Application-Type can be used to specify
# 1. 配置实现无web环境启动
spring.main.web-application-type=NONE
# 2. 代码控制无web环境启动
@SpringBootApplication
public class Application implements ApplicationRunner{
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class)
.web(WebApplicationType.NONE) // .REACTIVE, .SERVLET
.bannerMode(Banner.Mode.OFF)
.run(args);
}
@Override
public void run(ApplicationArguments args) throws Exception {
while(true) {
System.out.println("now is " + new Date().toLocaleString());
Thread.sleep(1000);
}
}
}