Spring Boot的话,个人感觉是用来做微服务的。 早期服务部署的时候,多个应用全部集中部署在一个服务器上,共用一个tomcat。这些应用所需要的包种类繁杂,版本与版本之间经常存在冲突。每一次出现冲突就需要折中解决,要么改代码依赖,要么重新换个Tomcat部署,难受的很。微服务就更别说了,部署都那么难受,微服务又怎么施行呢? Spring Boot出现以后,它将Jetty,Tomcat以及项目依赖集中打包到了项目发布的jar包中,每一次启动服务只需要执行java -jar就可以,虽然打出来的包可能会比较大,但是安全性,稳定性的提升是不容小视的。加上Spring Rest,Spring MVC,等等,做微服务框架就好多了。 后来Spring又出了Spring Cloud,Spring Cloud就是基于Spring Boot的一个服务框架。然后基于Spring Cloud又衍生出了Spring Cloud Config,Spring Cloud Bus,Spring Cloud Data Flow,Spring Cloud Security等等等等。接着Spring有将Spring Cloud与Spring Batch结合,发布了Spring的分布式数据处理框架Spring XD。可以看出,Spring Boot是Spring从传统Web开发转向面向服务开发以及分布式系统开发的桥梁,也是后续组件的核心,其地位与作用可想而知。 但是Spring Boot与其它Spring产品一样,最大的缺点就是“全家桶”式的开发,引入一个Spring Boot包,你会引入一大堆Spring包,这些包之间或多或少与当前业务产生冲突(之前就因为Spring Boot Autoconfig自动部署导致的一个数据库连接问题折腾了一个星期)。所以Spring Boot的实际使用,还要经过仔细的思考才行。 ========= 以上是我的一些见解,码字太累,就说这些吧。如果我说的有什么问题,或者您有什么更好的见解,欢迎讨论~
原来spring boot的作用是这个啊,之前面试还经常被提问,除了代替tomcat还有什么其他的功能吗?
62,612
社区成员
307,332
社区内容
加载中
试试用AI创作助手写篇文章吧