Spring Boot趣味实战课
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 打铁还需自身硬

光有别人的力捧,自身没点真本事的话,那么只会昙花一现,不会长久。好在Spring Boot自身也是非常有实力的,不仅“颜值”高,而且有“内涵”。

1.3.1 高颜值

这可能是Spring Boot最大的卖点了,谁让技术圈也逃不过“看脸”这个定律呢?你可能会问:框架又没有五官,怎么定义它的颜值呢?我们可以把一个框架的易用性和优雅性比作一个框架的颜值。Spring Boot从易用性上来讲,可以说做到了极致。只需单击几次鼠标,然后写几行代码就可以完成一个基于Spring Web应用的Hello World程序。

例如,只需要写下面几行代码即可:

Just a few lines of code is all you need to start building services like a boss.此言非虚。

而这在Spring Boot出现之前,是根本无法实现的,甚至想都不敢想。当年SSH组合风靡一时,如果你会搭建SSH环境,这就能成为你的一个技术亮点,基本上达到初、中级的水平了。这也并不是说当年对程序员的要求太低,而是因为那些XML配置实在太复杂、太麻烦了。它能复杂到什么程度呢?嗯……就是一个初学者可能花几天时间也调不通程序的程度,非常“劝退”。不过现在好了,我们有了Spring Boot。

我曾经以为注解加上properties配置文件已经做到了极致,直到后来遇到Spring Boot。让人不禁感叹:一山更比一山高!Spring Boot实在是高!人生苦短,我用Spring Boot!

Spring Boot的简单易用,也决定了使用它时的优雅性。添加新功能时,通常只需要一个注解、一个Starter就能解决问题。它的优雅主要体现在以下几个方面:

· 没有复杂的XML配置

· 善解人意的自动配置

· 周到贴心的Starter

· 简单得不能再简单的部署方式

· 丰富且强大的监控

这些特点现在不展开叙述,后面会一一进行讲解。

1.3.2 有内涵

作为一个有追求的框架,肯定不能仅靠一副好看的皮囊。Spring Boot或者说Spring,除了“颜值高”这个我们比较容易感知的特点,还有需要我们深入探索才能了解的丰富内涵。比如,它的两大核心特性——IOC和AOP,还有接下来要探讨的“约定优于配置”的设计哲学。

“约定优于配置”是什么意思呢?就是按照约定俗成的规范编程。Spring Boot制定了一套编程的最佳实践规范,如果我们没有特殊的需求,可以实现“开箱即用”。而这种规范是一种推荐性的而不是强制性的规范。我们还可以根据需要来自定义相应规范。这样既做到了开箱即用的便利性,也兼顾了按需定制的灵活性,在简单和灵活之间找到了一个完美的平衡点。

在Spring Boot中,这种“约定优于配置”的思想随处可见。例如,当引入spring-boot-starter-web依赖后,我们的应用就具备了Spring MVC的功能(提供HTTP服务、JSON支持和数据校验等)。而且我们不需要安装Tomcat或其他Web容器,可以直接以Jar的方式运行一个Web应用。这也是提前约定好的,在默认情况下打包应用时,Spring Boot会内嵌一个Tomcat。当然,也可以通过修改Maven依赖将Tomcat替换成其他容器,如Jetty,或者直接哪个容器也不用。

这种“约定优于配置”的思想,类似于现实生活中的风俗习惯。比如,我们会在春节吃饺子、贴春联、放鞭炮(当然不能在禁放区内燃放),西方国家的人会在感恩节吃火鸡、在平安夜互送苹果。这些都是在一定范围内形成的默契,大家不需要提前商量,到特定的日子就会默契地做相同的事情。

网上流传这样一句话:外表决定了我是否愿意去了解你的内在,而内在决定了我会不会一票否决你的外表。巧的是,Spring Boot不仅有着动人的外表(市场份额高、关注度高、简单易用等),还有着丰富的内在(“约定优于配置”的设计思想、IOC和AOP等强大功能)。如果说Spring Boot是一个女孩,那么我能想到的形容她的词只有“秀外慧中”了。有框架如斯,夫复何求呀!