你的项目应当使用Spring Boot吗?(译文)

注:这是一篇译文,参考链接:https://www.e4developer.com/2018/09/24/should-you-use-spring-boot-in-your-project/

 

Spring Boot如今看似越来越受市场永无止境的流行了,自从2014发布以来,成功地在五年内超越了Java端服务器。但出现的一个问题是,当我们开始一个新项目时,我应不应当使用Spring Boot?

我将在在这篇文章中,帮你回答这个问题!

我们每个项目都是与众不同的,我们可以通过一些特性比较。通过这些特性,我会告诉你的项目应不应该使用Spring Boot。

 

你仍使用微服务体系架构工作吗?

Spring Boot的最大的卖点是它用于微服务架构。我同意—我已经使用Spring Boot在大型企业的生产中实现了微服务架构,并且它工作得很好。

但是我要指出的是,由于许多公司热衷于使用Spring Boot,没有看到Spring Cloud,而错失这个技术。我以前写过关于Spring Cloud作为微服务架构蓝图的文章—我真的认为这是一个很好的思考方式。如果您已经在考虑使用Spring Boot和实现微服务,请查看Spring Cloud及其提供的内容。

Spring Boot是微服务架构的好选择吗?当然是!

 

你的项目是否使用Kotlin?

Kotlin似乎非常快速的受到开发者的欢迎。自从2017年中期以来,似乎它成了非常有趣的语言,许多开发人员热衷于在服务器端使用它。 

如果你正在研究Spring Boot的Kotlin爱好者,我有一些非常棒的消息想告诉你。 Spring Boot 2.0构建于Spring 5之上,为Kotlin带来了更好的支持。您可以在Spring官方网站上发布的文章中阅读它 – 介绍Spring Framework 5.0中引入Kotlin支持。

在使用Kotlin的时,Spring Boot是不是一个不错的选择?绝对是的! 

 

你会使用Serverless架构吗? 

另一个正在流行的趋势是Serverless架构。随着AWS lambda(亚马逊一种无服务器架构技术)和Azure Functions(微软一种无服务器架构),在运行您的系统时变得越来越容易……“无服务器”。由于这个词语的意思存在一些争论,我在这个词语使用了引号。你可以自我判断。

使用这个技术,你可以运行你的Spring Boot无服务器技术,但你会这么做吗?我认为这不是Spring Boot或无服务器架构的最佳选择。

你应该用什么技术更替它?如果你想知道Spring这个家伙在背后都做了什么,你应该看一下RIFF这个项目。不过它还处于早期阶段,但相当有趣。

偶然的机会,让我在博客上表达奇异的看法——是不是可以考虑另一种语言实现?Java用于无服务器技术,我认为使用JVM不是最好的方法。如果你不同意,你可以在评论里给我指点指点。

那么,Spring Boot是无服务器架构的好选择吗?我不会这么认为。

 

你是正在进入Spring的开发者吗?

Spring是一个非常强大的生态系统,从头开始学习,确实非常让人头疼的。如果你的团队以前从未使用过,你得考虑这是不是一个正确的选择?

我很喜欢在Spring Boot项目上和一些没有Spring开发经验的人员合作。我发现,Spring Boot有一个相当好的学习曲线。您可以很快地获得基础知识,并且当您学习这个框架时,不用担心配置。

事实上,我发现Spring Boot是最友好的服务器端框架之一。也许这就是它的疯狂流行的原因之一?

如果你想找一个好地方开始学习Spring Boot,我可以推荐Pluralsight作为它的课程(我写了一篇关于使用Pluralsight学习的文章,我是它的会员)和令人惊叹的Spring官方指南

对于没有Spring开发经验的团队来说,Spring Boot是不是一种可行的选择?当然可行!

 

你期望的代码基础很简单吗?

如果你不需要Spring Boot提供的所有功能。可能你对依赖注入和奇妙的自动配置不感兴趣。你只想写一些简单的REST API。

这里你有一个选择——Spring Boot作为基本REST API来说仍然很棒,但是你可以给像JavalinSpaveJava这样的microframeworks提供机会。

我已经详细阐述了这一点-研探简单的Java Microservices

Spring Boot是否适合简单的REST API?当然可以,但也可以查看microframeworks相关资料!

 

总结

对于大多数的现代服务器端开发来说,Spring Boot是一个不错的选择。这真的很奇怪吗?Spring Boot是非常流行的一个原因!

不过,在你选择Spring Boot之前,要确保你不是“如果你有一把锤子,一切看起来像个钉子”(如果你有决心,有毅力(有能力之类的),那么你干什么事情都会很容易,任何事情看起来也会很简单,会迎刃而解),用正确的工具来做这项工作。尤其是当进入无服务器或试图写一些“简单”的事情的时候。