Spring的一堆配置,用起来就好比。我要吃饭,饭是熟的,但是你还要自己加咸菜,配菜,肉,还得自己搅拌,然后才能吃。
但是SpringBoot不一样啊,端上来就是一碗咖喱鸡排饭,上来你就直接吃吧。但是题主的意思是想让人嚼碎了喂?
一、SpringBoot是什么
刚开始学Javaweb的时候,使用Servlet/JSP开发,那是一个接口搞一个servlet,简直头大啊。后来通过隐藏域或者反射等方式。可以减少Servlet的创建,但是依然不方便。
后来引入了Struts/SpringMVC这一类框架,目的就是简化我们的开发,和Servlet/JSP相比之下,引入框架之后,生产力是提高了,但是时间久了也能发现,配置繁琐,非常容易出问题。要做一个新项目,就要先搭建环境,环境搭建完还要配置,不同的项目就包不一样,其他大部分配置都是一样的。
Java不是一直被喷繁琐吗?后来呢,SpringBoot来了,功能就是:
为所有基于Spring的Java开发提供便捷入门体验。
开箱即用,有自己自定义的配置就是用自己的,没有的话就官方的。
提供了一系列通用的非功能性的功能,比如嵌入式服务器、安全管理,健康监测等。
绝对没有代码生成,也需要XML配置。
SpirngBoot是让Java开发回归简单的,我们要知道,一个新的框架出来如果不是解决了开发的真正痛点,绝对不会广泛使用的。从2017年年初开始,SpirngBoot基本上就是面试必问问题了。
现在流行的什么SpringCloud微服务也是基于SpringBoot。
二、学什么呢?
最基础的当然是 Spring/SpringMVC 相关的东西了。
搭配各种页面模版的使用,例如 Jsp/Thymeleaf/Freemarker/Groovy Templates 等。
和各种 SQL 数据库的整合,以及一些常见的数据持久化框架,例如 JdbcTemplate、MyBatis、Jpa 等。
和各种 NoSQL 数据库的整合,例如 Redis、MongoDB、Elasticsearch 等。
搭配安全管理相关的知识点,例如 Spring Security、Shiro 等。
缓存的使用,例如 JCache、Ehcache 等。
和消息中间件的搭配整合,如 ActiveMQ、RabbitMQ、Kafka 等。
数据校验/定时任务/邮件发送等。
各种监控的使用。
结合 WebSocket 的使用。
Spring Cloud 中相关组件。
…
上面只是列出来的常见的技术点,每个技术点可以延伸很多东西,其实里面还会设计了第三方框架。例如 Redis、MongoDB、RabbitMQ 等,Spring Boot 的出现只是让这些组件在和 Spring 家族的产品整合时变得更加方便,但是并不会简化这些组件原本的用法,所以,该学 Redis、该学 MongoDB、该学 RabbitMQ 等等,还是一个不能少。以 Redis 为例,学会了 Redis,学会了 Spring 整合 Redis,再回过头来看 Spring Boot 整合 Redis,那简直太 easy 了。
但是,学习SpringBoot最终我们还是要奔着快速开发和微服务去的,所以像Docker、Spring Cloud等技术也需要了解一下。
三、怎么学
Spring Boot 发展到今天,网上的资料和图书现在是越来越多了。在看资料学习的同时,大家也要留意以下几个点:
多看源码。不同于其他全新的框架源码你可能会看懵了,由于 Spring Boot 是基于 Spring 的,所以只要你 Spring 基础扎实,看 Spring Boot 源码可以说是毫无压力。如果看 Spring Boot 源码觉得有压力,那可能你 Spring 基础不牢靠,这个时候不妨放下 Spring Boot,去复习下 Spring。
每当学会 Spring Boot 中的一个知识点,不妨想想这个功能在 Spring 框架中要如何使用,如何配置,两边都搞懂了,互相印证,加深对一个知识点的理解。
多多关注 Spring Boot 的发展动态。不同于传统的框架可能一年更新一两次,Spring Boot 更新非常频繁,二次每次更新都会带来一些好玩的东西,可能会有新的 API 加入进来,也可能会有旧的 API 失效,变化大,因此多多关注,避免掉坑。
最后,我这里给大家列举几个我自己经常关注的几个资源。
4.1 官方文档
老实说,Spring Boot 的官方文档是我接触的所有官方文档中最条理清晰浅显易懂的,大家做开发,多多少少都接触过一些第三方的开放平台,很多平台的文档真是让人忍不住想吐槽,框架都做出来了,认认真真写个文档有那么难么?
不过 Spring Boot 的官方文档可以算是非常非常友好了。虽然是英文的,但是实际上对英文要求并不高,连读带猜,其实很容易明白它的含义,我一般对 Spring Boot 中某个知识点有疑问的时候,都是首选官方文档,当前最新版的官方文档地址是:
https://docs.spring.io/spring-boot/docs/2.2.4.RELEASE/reference/html
4.2 Spring 官方博客
每次 Spring 或者 Spring Boot 发新版本,我都会去看一下新版本有哪些好玩的东西,增加了哪些内容。我不可能把源码读一遍然后总结出来它的变化,那一般是如何获取权威的第一手信息呢?关注 Spring 官方博客即可。
打开 Spring 官网,在顶部菜单里有一个选项就是 Blog,关于 Spring 家族产品的任何更新计划,更新结果,都会在这里通知到大家。
推荐大家多多关注这个 Blog,一方面能够及时接收到一手信息,另一方面还能提高英语,一举两得。宅在家,泡一壶茶,细细的品一品这个网站,真的蛮不错。
Blog 地址: