美文网首页
从架构师角度看看如何学习springboot

从架构师角度看看如何学习springboot

作者: 墨眉无锋_f012 | 来源:发表于2018-07-28 16:48 被阅读0次

    普通人的角度,人类角度,学习Spring Boot,然后去开始想,先写hello world,再看看官网,再网上搜索一些博客,系列性的,系统跟着敲一遍,找找视频课程,跟着做个小型的demo级的小项目 -> spring boot。


    1、不用Spring Boot的痛苦是什么?

    (1)各种技术整合在一起,版本混乱,大量依赖自己去找,依赖冲突

    (2)基于xml格式的配置文件,对各种技术框架进行大量的繁琐配置,mvc-servlet.xml,applicationContext.xml,mybatis-config.xml,web.xml

    (3)web系统跑起来测一下,需要与tomcat等web容器整合起来才能测试

    (4)单元测试的时候需要自己去选择和导入需要的各种测试组件的依赖,junit,hamcrest,mockito,很多组件

    (5)部署打包的时候需要自己去配置打包插件

    (6)部署应用上线之后,没法去对线上的应用,包括jvm堆栈等方方面面进行监控,没有方便的办法去看到这些东西

    传统的以spring为核心的web系统开发,从启动项目、开发、测试、部署以及监控,都很麻烦,有大量需要手工做的事情


    2、用了Spring Boot以后的好处是什么?

    spring社区意识到了这些问题,开发人员一定是最讨厌繁琐的,希望的都是用技术提高工作效率。因此推出了spring boot框架,作为开发spring项目的一个脚手架,脚手架,类似于一个封装在各种技术之上的一个基础框架,基础模板。脚手架帮助我们快速整合需要使用的技术框架,快速开发、测试以及部署和监控,节约我们的成本。如果没有spring boot,很多公司,特别是一些大公司,会将spring mvc 、mybatis、spring这些框架再度根据自己公司的开发经验、规范和实际情况,再度封装,进一步简化每个新项目使用框架的一个成本。

    Spring Boot是spring官方社区推出的,设计思想,架构思想,是更好的,更加优雅的

    (1)spring boot负责统一各个依赖的版本,保证各种技术的版本之间兼容,自动引入需要的各种依赖。spring boot 1.5.9,在这个版本基础之上,你引入的spring、mybatis、spring mvc、redis、zookeeper、kafka、mongodb,等等各种技术,在spring boot1.5.9这个大版本的基础之上,其实所有技术的版本都是互相兼容的,省去了我们自己去寻找版本整合,解决不兼容问题的一个过程

    (2)所有技术整合进来之后,不需要xml配置,spring boot全部是大量基于按照约定的自动配置,自动生成那些技术相关的一些bean,注入spring容器供使用,基于注解进行少量注释,基于application.properties,少量的配置即可

    (3)spring boot支持内嵌的web容器,上来直接启动一个main方法就可以启动一个内嵌的tomcat web容器+web程序,快速上手测试,http://localhost:8080/

    (4)一键引入需要的所有单元测试组件依赖,所有测试组件的版本兼容,支持controller、service、dao各种测试

    (5)默认声明一个插件,自己给你把插件配置好了,支持打包成可以执行的jar包或者是war包

    (6)系统上线之后,默认支持大量的线上应用的监控metrics,可以看到线上应用的jvm堆栈,等等信息


    3、对于Spring Boot这种框架型技术该如何学习?

    (1)spring core,那么多复杂的功能,你都学习了吗?spring mvc那么多复杂的功能,你都学习了吗?否,20%。

    (2)你在工作中都会用到spring core和spring mvc,这些框架100%的功能,你都使用了吗?否,20%。

    (3)在面试的时候,有面试官会揪着spring core和spring mvc的各种生僻冷门的功能、api/方法的细节,问你这个功能怎么回事,那个功能怎么回事吗?否,我面试从来不问任何一丁点的框架功能性的东西。

    (4)技术分成五种:框架性的技术,中间件的技术,架构,项目经验,底层技术。框架型的技术,28法则,20%的核心功能,就足够项目中的使用了。学了剩下80%的功能,几乎很少用到,而且功能性的东西,学习,几乎是零成本,你只要掌握了20%的功能,就已经学会了这个技术的基础了,如果你后面项目里需要80%的冷门功能,百度,官网,只要是个大脑正常的工程师,自己都可以搞定。

    相关文章

      网友评论

          本文标题:从架构师角度看看如何学习springboot

          本文链接:https://www.haomeiwen.com/subject/hswomftx.html