怎么理解springboot可以创建一个stand-alone的spring应用

官方文档说springboot可以创建一个stand-alone的spring应用。这句话怎么理解??没有springboot前,创建一个spring应用需要依赖什么吗???

springboot可以把所有依赖都打包到一个jar。也就是说整个项目最终就是一个可执行的文件。直接就能运行,不需要其他东西。

如果没用springboot那么你需要安装额外的servlet服务器,并且自己把应用打包成war包部署到服务器。比较麻烦。

本质上,springboot只是帮你把servlet嵌入到了项目中。

  1. 意思是说,即使我不引入maven的 assembly 插件也能够打成一个jar??
  2. web应用原来需要web容器的,改成springboot后就不需要了,,这个理解了。

是的,springboot会给你打包一个可执行jar。

当然你也可以不用springboot,自己用assembly 插件打出一个可执行jar。但是问题在于,你的servlet应用是必须要运行在servlet容器(Tomcat,Undertow,Jetty)里面,虽然这些容器都提供了嵌入式的开发接口,但是你需要自己把容器嵌入到项目中,这个可执行jar才能工作。

servlet项目都是需要容器才能运行,springboot也需要,只是说它帮你完成了容器的嵌入,又给你打包好了一个可执行jar,你的程序就可以直接运行了,而不需要再另外安装容器来运行。

1 Like