1、英文好的去官网练习指引
2、英文一般的,从基层学起,买一些springmvc和springboot的书,学习理论
3、注重实际代码练习,建议加入一个项目组,大家带着你学习更快,积累经验
学springboot之前要学什么
1.Spring?Boot?是什么
我们刚开始学习?JavaWeb?的时候,使用?Servlet/JSP?做开发,一个接口搞一个?Servlet?,很头大,后来我们通过隐藏域或者反射等方式,可以减少?Servlet?的创建,但是依然不方便。
再后来,我们引入?Struts2/SpringMVC?这一类的框架,来简化我们的开发?,和?Servlet/JSP?相比,引入框架之后,生产力确实提高了不少,但是用久了,又发现了新的问题,即配置繁琐易出错,要做一个新项目,先搭建环境,环境搭建来搭建去,就是那几行配置,不同的项目,可能就是包不同,其他大部分的配置都是一样的。
Java?总是被人诟病配置繁琐代码量巨大,这就是其中一个表现。那么怎么办?Spring?Boot?应运而生,Spring?Boot?是?Pivotal?团队在?2013?年开始研发的一个基于?Spring?的全新框架,试图将?Spring?中臃肿的配置进行简化,使?Java?开发更加轻量与快速,这个框架非常活跃,官方也非常重视。
Spring?Boot?主要提供了如下功能:
为所有基于?Spring?的?Java?开发提供方便快捷的入门体验。
开箱即用,有自己自定义的配置就是用自己的,没有就使用官方提供的默认的。
提供了一系列通用的非功能性的功能,例如嵌入式服务器、安全管理、健康检测等。
绝对没有代码生成,也不需要XML配置。
Spring?Boot?的出现让?Java?开发又回归简单,因为确确实实解决了开发中的痛点,因此这个技术得到了非常广泛的使用,大概从?2017?年年初开始,Spring?Boot?基本上面试必问,现在流行的?Spring?Cloud?微服务也是基于?Spring?Boot,因此,所有的?Java?工程师都有必要掌握好?Spring?Boot。在此我向大家推荐一个架构学习交流圈。交流学习伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多
从?Spring?Boot?诞生的过程中,我们可以看到:
Spring?Boot?并非另起炉灶,而是在现有的?Spring?框架的基础上整出来的,它把?Spring?中繁琐的配置进行了简化。
Spring?Boot?降低了?Spring?家族的使用门槛,使新手更易上手?Spring?框架。
既然?Spring?Boot?不是另起炉灶,那么?Spring?Boot?学习要不要跳过?SSM?呢?听松哥来分析。
2.要不要跳过?SSM
这是很多人问我的一个问题,我的建议是:不要。
Spring?Boot?基于?Spring,简单且容易上手,很多人想当然的跳过?SSM?直接上?Spring?Boot。但是当我们细究?Spring?Boot?中的自动化配置、条件注解、Java?配置等东西时,实在找不出太多新鲜玩意,Java?配置是?Spring3?开始提供的,条件注解?也是?Spring?中的东西,很多很多,都是?Spring?中就有的,只不过这些东西在?Spring?Boot?时代大放异彩。
也就是说,即使你跳过了?SSM?直接去学习?Spring?Boot,实际上还是在学习?Spring?中的东西,那既然这样,我们还不如坐下来,老老实实把?Spring?过一遍。
各个领域的开发工程师其实都会面临类似的问题,学习了一些优秀的封装框架之后,还有没有必要去学习底层?当然有必要!因为底层的东西可以让你深刻的理解你目前用的这个东西,也能让你在出问题时快速解决掉问题。
其实无论你想搞什么技术,都要有牢固的基础知识,这些牢固的基础知识就像肥沃的土壤,可以孕育出各种不同技术方向的牛人,基础掌握好了,学什么框架都快。今天你跳过?SSM?直接学了?Spring?Boot,假如有一天?Spring?Boot?不行了,Pivotal?团队又基于?Spring?框架搞了一个新的框架出来,那你是不是又要去学一遍?但是如果你一开始就掌握了?Spring?的各种用法,无论基于它搞出来什么样的框架,你都能快速上手。更进一步,如果你研究透了?Spring?中的?AOP、Ioc/DI,你会发现很多框架大同小异,核心思想就是这些东西,那么你在学习?Spring?之外的框架,就会容易很多。
3.都要学哪些
那么?Spring?Boot?学习都要学哪些东西呢?我这里列举了一个进阶路线:
最基础的当然是?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?了。
当然,学习?Spring?Boot?最终我们还是奔着快速开发和微服务去的,所以,像?Docker、Spring?Cloud?等技术,也是需要去了解一下的。
4.怎么学
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?中某个知识点有疑问的时候,都是首选官方文档,当然,如果你嫌官方文档打开慢,也帮你下载好了最新版的?pdf。
如何学好springboot想学好SpringBoot,先要弄清楚这是个什么,是做什么的。这是一个Java开发用到的一个很流行的一个框架,这个框架集成Spring相当多的模块。想学好SpringBoot最好要知道它实现了什么,简化了什么,它的注解是怎么实现的,了解这些底层,就好学多了。
想要学习一个新东西(对你自己来说),肯定要有人教,可以是现实的人,可以是网友,比如csdn,博客园等知名的地方,程序员汇聚的地方,他们会写很多总结类的博客,可以去看下,去记,去积累。
然后就是实践了,学以致用不是说说的。你需要自己去配置很多环境,下载很多工具。你得亲手搭建一下SpringBoot项目,最好是集成一下别的框架,比如Mybatis,完成一些CURD基本功能。熟悉之后,还可以再集成别的框架,到你的项目上。不会的话,可以跟着视频学,一步步走。至于视频怎么找,可以去一些IT网站,也可以去B站试着搜下。
学习SpringBoot之前要准备哪些知识和技术?springcloud=N个springboot+很多分布式组件+运维。
利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。
Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期。
Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。
Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化。
logo设计
创造品牌价值
¥500元起
APP开发
量身定制,源码交付
¥2000元起
商标注册
一个好品牌从商标开始
¥1480元起
公司注册
注册公司全程代办
¥0元起
查
看
更
多