SpringBoot项目非web方式启动
1、springboot 2.0中以非web方式启动
法1:修改配置文件
spring.main.web-application-type=NONE
#是否设定web应用,none-非web,servlet-web应用, reactive-reactive程序
spring.main.web-application-type=servlet
#加载springboot banner的方式:off-关闭,console-控制台,log-日志
spring.main.banner-mode=off
法2:Java文件
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);
}
//本处可以不覆写
public void run(ApplicationArguments args) throws Exception {
while(true) {
System.out.println("now is " + new Date().toLocaleString());
Thread.sleep(1000);
}
}
}
NONE:非web
REAVTIVE:reactive程序
SERVLET:web项目
2、springboot 1.x中以非web方式启动
法1 修改配置文件
spring.main.web_environment=false
说明
#web_environment是否是web项目
spring.main.web_environment=true
#是否加载springboot banner
spring.main.show_banner=false
法2:Java文件
public class Application implements ApplicationRunner{
public static void main(String[] args) {
new SpringApplicationBuilder()
.sources(Application.class).web(false).run(args);
}
//本处也可以不覆写
public void run(ApplicationArguments args) throws Exception {
while(true) {
System.out.println("now is " + new Date().toLocaleString());
Thread.sleep(1000);
}
}
}
SpringBootServletInitializer
其他网址
使用jsp作为视图模板&常规部署
作用
和web.xml有相同作用:部署web应用程序。
继承SpringBootServletInitializer之后,可以使用外部tomcat容器,自己可设置端口号,项目名等。不需要用外部tomcat的话不用继承(继承了也不会被执行)。
现在JavaConfig配置方式在逐步取代xml配置方式。而WebApplicationInitializer可以看做是web.xml的替代,它是一个接口。通过实现WebApplicationInitializer,在其中可以添加servlet,listener等,在加载Web项目的时候会加载这个接口实现类,从而起到web.xml相同的作用。查看SpringBootServletInitializer定义可知,它实现了WebApplicationInitializer。
用法
public class ServletInitializer extends SpringBootServletInitializer {
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SsmShopApplication.class);
}
}
分析
SpringBoot 中的 ServletInitializer
常规容器下SpringBootServletInitializer如何实现web.xml作用解析
其他网址
SpringBoot项目非web方式启动 - 一切随风 - ITeye博客
springboot 设置web和非web启动_Java_u012903200的博客