Spring Boot要不要搞?

最近抽空学写了下Spring Boot,它旨在简化Java应用的开发。利用自动配置的特性,你可以少写很多配置代码,利用COC(Convention Over Configuration),你可以直接上手,快速投入到你业务的开发过程中。

刚开始听说Spring Boot的时候,我是拒绝的。最早学习Spring,是通过《Spring实战(第四版)》开始的,这本书覆盖了Spring开发的方方面面,是一本极好的入门书籍。然后我还写了个模板项目,配置好了一些常用的东西,比如第三方库、数据库配置、资源路径等等。当我以为自己算是踏入Java Web开发的大门的时候,发现我在github找的一些开源项目都是使用的Spring Boot,而且拉勾上很多职位都对SB有要求(说明已经被广泛应用了),再加上Spring Cloud是基于Spring Boot的,我决定上手试一试。

在Spring Boot之前,你想要在项目里引用某些框架,就需要在build.gradle中加入你需要的依赖,然后再在你项目里进行配置。在Spring Boot之后,“配置”这个操作,大部分可以自动被完成,“依赖”这个操作,以Starter的形式被引入。如果我想进行web开发,那么可以引入“spring-boot-starter-web”这个依赖,他一股脑帮你加入了SpringMVC、Json支持(Jackson)、内置tomcat、hibernate-validator等等。Spring Boot发现类路径里有了上面这些依赖,就自动帮我们以最常规的方式配置好。

你可能会问,这些个自动配置够用么? 配置被自动完成之后我自定义会不会是个坑?你自己写个练手项目写个Demo自动配置肯定够。但是一旦是线上跑的项目,自己再进行配置200%会发生。幸运的是这些自动配置的东西是可以修改、覆盖、忽略和增强的,你可以在资源根目录下的application.properties文件中进行配置,也可以在代码中根据不同的需求进行配置。

如果你们公司用了Spring框架但是没用Spring Boot,别着急着上,因为这种情况下你们公司肯定已近有了成熟的模板项目,项目快速开始已经不成问题。那Spring Boot还有必要学么?当然有必要,现在项目用不到,将来的可能用到;想在公司用不到,跳槽之后可能用到。跟着Spring技术栈,必然是Pivotal往哪里推,你往哪里走。就像Java的版本一样,迟早要升。

对于初学者来说,就头疼了,要学的东西越来越多。其实没那么难,况且Spring Boot让你上手更简单,学东西的流程自然是自上而下,做项目的过程中“哪里不会点哪里”就行。如果真的想从头到尾系统地学习,就得摒弃CSDN上那些文章了,直接把官方文档过一遍,能省不少事儿,能省不少事儿,能省不少事儿。

有时候真想写一些Spring教程,把我遇到的坑什么的都写出来,给后来人参考,然后整理整理发现,坑还是太多了,想想要写那么多字都烦。前两天我在想,要不要录个视频教程,通过语音和画面,很多问题解释起来比较清楚。如果你有兴趣的话,不妨留个言?反正我ScreenFlow已经准备好了。

继续搞我的Spring Boot.

发表评论

电子邮件地址不会被公开。