springboot默认带有tomcat和maven,之前使用eclipse都是自己下载然后配置进去。springboot同样支持外部配置,想问一下,是推荐使用内置的还是外部配置的?两者有啥区别?
区别不大,既然用springboot,那肯定用内置的方便啊。区别在于,内置的设置tomcat参数就是配置文件方式,或者代码方式。
首先啊,Spring Boot没有内置Maven。感觉Spring Boot内置了Maven的,应该是用http://start.spring.io(Spring Initializr)生成了Spring Boot应用骨架,下载的Zip包里有Maven Wrapper。
其次,内置的Tomcat和打包成War然后部署到独立的Tomcat有什么区别呢?
主要还是方便简单。独立的Tomcat可以部署多个War,这是优势。但是现在很少这样用了。
因为现在主要的部署环境是微服务和云部署,Spring Boot就是面向微服务架构和云考虑的。
在云上部署,往往是一个虚拟机一个Web应用,打成一个可执行Jar最方便。
如果用Docker部署,找一个JVM Image,然后加上自己的Jar就可以了。否则就需要用一个Tomcat Image加上你的Web应用。
所以,不管是一个云虚拟主机,还是一个Dock容器,里面只会跑一个Web应用,没有一个Tomcat里部署多个Web应用的场景需求。
Tomcat 问题:
tomcat 有很多种启动方式,一种通过 startup.sh 启动。另一种是写一个 Java 文件 import 进入tomcat 包,实例化一个类,然后启动 tomcat. 你问题 springboot 就是这样启动的。