00:00
嗯,Spring部的咱们少少来一点吧,咱们别讲太多是吧,其实今儿讲的东西就是其实嗯,内容多到不多的话,就是上午先搭了个组黑本的集群。然后讲的是double是吧,然后我们再讲spring good,它就是说有点杂啊,所以咱们就少讲一点啊,咱们咱们看看大概把hard讲完。嫌少吗?咱们先看看boot是啥啊?嗯,Spring boot呢?咱们先有一个初步的感性认识,它是我们对spring的进一步的封装。哎,以前的话呢,我们就spring。Spring的基础上,我们用spring Mac,然后呢,部署到tomcat上面把它跑起来,哎,以前是这么运这么用的。现在呢,我们把这一套呀。其实还有还存在啊,都还都还在,然后呢,我们用水supreme boot呢,把它们给再包一层。
01:04
Spring把他们又包了一层。啊,又包了一层呢,然后。因为它里边呢,带一个内置的tomcat。它里边带一个内置的Tom cat,然后呢,那么他可以直接就可以跑起来,这个东西呢,不需要你找额外的Tom cat,因为他自己带了嘛,他直接就可以跑起来啊,哎,这个感觉呢,就好比说以前呢,我们都是。呃,你你你你你这个你住的住的地方呢,是一个固定的地方,你每天回家,你得回你固定的地方去去睡觉,现在呢,是这个,你有一个房车是吧?哎,你随时走到哪儿是吧,你随时都可以回家去睡觉啊。哎,你就是随时走到哪哪就是家,哎,他自己自己带了一个摊不开的啊,就是好像你开房车,你自己带了一个房子啊,小蜗牛是吧,你看人家爬到哪儿一缩壳人就回家了啊。哎,然后这个运行起来以后呢,这就是一个微服务,哎,Spring put是是大概上来说是这么一个东西啊,这个每一个spring put呢,其实对应的最后就是一个假包。
02:12
架包,这个架包里边带一个汤姆cat。这个事情,这个事情你现在还你现在还想象不出来哈,这个事儿也很神奇啊,我们下边咱们一点点去看哈。呃,我们建了工程以后,我们后边就能看到了啊,它是这个价包里边怎么就包了这个他不开的了。呃,说boot有哪些个优势,哎,这个我们用这个东西肯定是因为它有一些个好处啊,首先来说呢,简化配置。嗯,他对spring进行进一步的封装,哎,基于注解进行开发。舍弃了笨重的毛。呃,确实需要配置的呢地方呢,就使用yam或者proper进行简要的配置就可以了。哎,我们说啊,这个X毛呢,这个东西也是经历了。
03:02
呃,跌宕起伏的人生哈,其实这个X毛呢最早哈,也是一种数据传输的格式。他做数据传输格式呢,用了一段时间,你像去找web service那种啊,就就是X毛的,但后来呢,数据传输方面呢,就使用杰森了。就发现啊,数据传输呢,用杰森比用X毛好很多。哎,这个,呃,因为杰森呢。你看表示同样的信息,杰森就比X毛要简洁,数据量要小,你比如说呢,有一个人student啊。这个他的一个名字,比如说汤姆哈。你要是X毛表示的话,你是这么写的,然后你要杰森写的话呢,我只需要是去写一个。Student冒号汤姆就行了啊,但你就算是加上引号也比他这个要简短。
04:00
哎,你这个哈,你不用数,这个肯定比这个要简洁,因为这个student我只写了一遍,你这个student写了两遍。啊,那你不服气,你说我student,我也可以写写一遍。是吧,我单表签。但是你还得再加个内,你总归你,你这个确实是确实杰森,杰森确实要比S毛要简洁。但是相应的呢,这个S毛的这个可读性哈,至于我们人来看的话,可读性会更好,所以说这个时候呢,诶这S毛和这个杰森吧。后来就发现呢。杰森更适合于数据的传输,哎,传数据量小,那你传输的速度就快,解析的速度也快,哎这个就更适合干这个X毛呢更适合做配置文件啊,所以说慢慢的它就丧失了一个功能,一般就不用X毛做数据的传输了,就用它呢做配置的文件。啊,肯,但是呢,这个技术再向前发展,他又遇到了一个敌人。
05:07
诶,后边我们发现有注解,这个用了注解比有X毛又更简单。啊,你看这个,你比如说呢,我们去,咱们比如说最简单写个controller,我这个东西呢,配合一下自动扫描的包,我就直接就加到LC容器了,我就不需要给这个东西呢,再去配那个B标签了。啊,这我们甚至说往前再往再往后一点,我们用这样的病,这样的注解,也就甚至于说都不用那个写并标签了,哎,然后呢,我们再用这个configuration。Configuration。这样的注解我都白,时髦的配置文件都不用了。哎,用注解呢,我们发现比X毛还要更还更简洁。哎,这个而且的话是其实是等于说在Java代码里边写它相关的有提示啊什么的。
06:02
啊,这这个还不用说,你离开Java代码再去找S码的配置文件了。我们一会儿在X毛里边,呃,一会儿又到Java里边,一会儿又去写页面的,就这个就我们觉得也非常的不一致啊,风格各方面不算统一。所以说后来呢,这个注解呢,它就又取代了毛了。啊,所以说呢,这S毛呢,越往后这个趋势呢,越就是越倾向于越不用它了。啊,就是这个随着时代的发展,这个很多东西,它就慢慢的越来越,就越来越少了,你看现在谁还写毛笔字。对吧,那钢笔都不不用了。水水笔就那个是吧,水笔都都很少用了。啊是吧,所以说都用电脑了是吧,电脑PC机都不怎么用了,你像大伙你想回想一下你刚来的时候是吧,可能你打字都不太熟练,我们平常就用手机了。慢慢这个手机呢,慢慢能不能够舍弃手机这个设备呢。
07:03
是吧,哎,现在手机这个屏幕呢,它屏占比越做越高是吧,它就追求的是手手机上面这个按键啊,什么东西越少越好啊,将来假如说有一天呢,我们生活的城市哈,你走到哪儿。所有的地方都是。都是这个智能设备,智能终端,然后它呢,这个每个地方呢,都有这个摄像头之类的,可以读取你的脸型呀,虹膜呀是吧,指纹之类的,你都可以调出你自己的数据,随时你走到哪都可以调出来,然后在随随处都有屏幕,或者有全新的投影,然后你做一些简单的手势就可以操作。那如果这样的话,就就真的就不需要再带手机了,你走到哪什么都不用带了。因为你走到哪儿,他都能调出来你花钱的账号,你都可以,你买东西可能都没感觉了,你就上班就好了是吧,然后你要啥你就去,你就就去就去去去去调是吧啊。哎。这个完全是有这个有这个这个这个事情呢,有这个可能性哈,这个从技术上来说啊。
08:06
所以说以这个趋势呢,我们人类追求的就是就是一个简字,就是越来越简洁啊,但是这个简的背后呢,是是一个,其实减的背后是繁。哎,我一下不会写这个字了。这个烦这个字怎么写来着?我我你明白我说的意思就行了哈,提笔忘字,所以说这个,所以说其实spring boot也是这样的,你用着呢,你用的话,咱如果不看原理,不看它源码各方面不去考虑这些,用着是真简单。你能够体会到啊,你这个用着是真简单,但是它它出了问题以后。他出了问题以后是不太好,不太好解决,他他提示那个他抛一场的时候,那个错误吧,它比较晦涩。也不是也不是特别完全看不懂吧,就是说你得去。
09:02
呃,猜一下啊,就是你得去根据你以前你以前的使用的这个经验去推测啊,所以他这个,呃,他这边出问题可能会对你来说是一种考验,他如果正常的话,你如果用的话是真简单啊。呃,哎,虽然说它也有配置文件,这种yama或者properties这样配置文件,但是这样的配置文件比S毛的话要简单很多啊,为什么会简单很多呢?因为。因为这个这个里边哈,它内置了很多的自动配置。Auto configuration自动化的自动配置有很多自动配置,呃,你正常的话就按自动化配置,就直接就按这个默认的人家设定好的自动化配置运行就好了,你是有一些个性化的想定制一下,然后呢,你其实是对自动化配置的那个配置项,那它的值去改。
10:00
把它的值给改掉啊,就是这样一个,所以说你大部分呢,你其他的。不用管它,它就按自动化配置去运行了,所以说你要配的东西呢,也就越来越少了,需要配的也越也越来越少了啊。然后说什么叫产品级的独立运行呢?每一个工程都可以打成一个架包,这个架包里边内置的tomcat或者是其他的service容器啊,这个你想内置什么service容器,这个你可以自己去指定。它是可以独立运行的啊,这是和微服务理念最为契合的一点,哎,因为咱们说过微服务的理念呢。啊,我就不考大家了哈。我,我没有勇气去。那个。哎,就说咱们你看啊,就是。Independently deployable services微服务,这强调的就是一个,一个是独立,一个是可以部署。
11:00
啊,这个是我们从人家这个教授的,人家自己的博客上面是这个文章里边是能够找到依据的啊,独立可部署,那你像我们这个spring put,既然他自己就能打一个夹包,而且还是一个里边带tomcat的这么个假,那他当然可以自己就可以跑起来。啊,他自己可以跑起来的话,那这个就体现它的独立性。所以相对来讲啊,相对来讲它比较独立,然后呢,那他这个部署呢,因为它就自己自带toca,它自己部署到自己的timecad上面,这个过程完全给屏蔽了,完全他给封装起来了,完全不需要我们去去去干预。啊,所以说是一种这个部署上来说也非常的自动化,也可以说自动化程度呢,非常的高诶。那你这样的话就是,哎,他从这来说是非常契合这个微服务的这个理念的。哎,至于说里边的这个内容,你实现的这功能啊,那这个那这个就看你了啊,你写的这个里边你写的功能你集成的多的话,那这个就功能就比较庞大啊,你写的功能少的话,这功能就比较小啊,这就看你自己了。
12:07
还有强大的场景启动器。哎,这是什么意思呢?呃,这个启动呢,叫start。启动器呢,叫starter。我们用spring的时候呢,你会发现是各种各样的starter,用什么就倒它的starter啊,这个starter里边。它包含你所需要的价包。你在这个场景下边需要的架包它都有,然后这里边儿还有这个大量的自动化配置。哎,你想想你导一个导一个starter,它的这个需要的价格包都导进来了,它也都做了相应的自动化配置啊,你剩下的事儿呢,就是在自动化配置基础上,哎,人家配了100个,你看看你是不是可能需要改上两三个,然后呢,剩下的你就用就完了。啊,就这么简单,为什么spring boot它的这个logo,它用的是一个。
13:05
呃,他用的是一个这个开关的这样一个logo。诶。这个其实其实主要的呢,对应的就是这个starter,因为你这儿有好多功能啊,你用哪个功能呢?你就导入它的start,就像一个给给这个功能,好像给他按了个开关一样,这个这个功能呢,加starter就能用,不加就不用啊,就按了开关就能用,不不按开关就不用啊,所以这个就是。特别的这个简洁。呃。包含这个场景所需要的一切啊,自动化配置和这个依赖的信息。那么我们用spring的时候呢,呃,我们主要是关注这么几个方面啊,就看看我们现在需要的这个功能,有没有把它对应的start给导进来。哎,如果我们需要一些特定功能呢,有没有用enable什么什么注解把这功能呢给启用起来。
14:03
哎,Enable就启用的意思吧啊。哎,然后呢,就是看看是不是需要在yama或者prop文件里边去做一些简单的配置,然后呢,主启动类是一定要有的啊,一定要有一个主启动类,这个是我们spring boot程序的一个入口。啊,这是它的一个入口。所以说其实我们用boot版就是看这几个地方呢,呃,主启动类是必须有的。另外这三个呢,得看情况,看你的这个需要啊,你需要需要的话就把它加进来啊,然后你看你该加的这几个东西都加了没有,一般是一般你都加了,诶该加的东西都有都有了,然后你这个加包呢,也都是正确的啊,这个基本上就没啥问题了。呃,那么我们说一下这个咱们boot这用的版本。做这个网页的时候呢,这个spring这个版本哈,2.1.6啊,这在当时来说是最新版了。
15:02
现在是啥个版本的。啊,点进来看一下啊,过来看一下这个乐。就是它会列出来最近的几个版本。哎,现在这个是2.2.2啊。呃,是是这么一个版本,我们我们这个课件做的是2.1.6这个版本啊。这儿有一个qua呢,就是当前的版本的意思。这有个GA呢,你看这儿也有一个GA,这个表示是稳定版。带Gaga的是稳定版,然后这个snapshot什么意思呀。哎,这是这个单词的意思是快照。那快照当然相比较来讲是不稳定版,所以说你看这个为什么2.2.2跑到2.2.3的这个前面去了呢?哎,因为2.2.3这个还是快照,它还不呃不是很成熟啊,什么时候它诶给你显示GA了,这就是一个稳定版。
16:00
啊,那我们相比较来讲,那肯定还是用稳定版啊,咱们一般是不会使用它这种快照的。嗯。嗯,然后呢,我们说这个我们现在大版本是二。啊,这个前面这叫大版本,后边这个小版本啊,我们现在跟这个这个最新的稳定版来说呢,区别是小版本的区别,这个应该其实区别不大。然后呢,这个,呃,前一个大版本呢,是一点多少多少多少啊大版本前一个大版本是一大版本二和一的这个区别在哪呢。呃,大版本一的时候吧,他用spring的话呢,有四就够了。然后呢,我们二的时候呢,它需要spring的版本是五。那spring spring的版本的五和四又有啥区别呢?就SPRING5里边呢,它用了很多的JDK1.8的新特性,比如说拉姆的表达式呀,啊,Default接口里边的default标记的方法可以有一个默认实现呀。
17:03
啊,然后是这个STEMAPI啊等等啊,就这一类的东西,就有我们JDK1.8的这个心得性啊,它用用到了就是SPRING5会要求我们JDK至少用1.8的,比1.8再低的话,就不能用SPRING5了。那么当然,那么spring boot的二,它会要求spring的版本最低是五,那肯定也就要求了JDK的版本最低是1.8啊,就这是一串的啊,这是都是必要条件啊,都是必要条件。都必须的啊。嗯,哎,这是大致上来说一下它的这个要求。呃,看一下这这个这是它的一个文档哈。这是这个一个教你的,教你这个东西怎么用的一个文档啊,然后呢,这边有一个API dock。啊,这是这就是他的一个这个叫,呃,就是像咱们Java IC时候是吧,查这个查文档啊,API的这个手册,但是呢,我们说啊。
18:06
你可千万别按这个选啊。你可千万别按这个选,你按这个选那不就疯了吗。啊,你是一个一个类去看看,这里边儿有啥方法,一个方法一个方法去看。啊,看看我觉得看看不了几个,就这就想死的心都有了。啊,所以说这东西框架这个这些东西的话,你看后边咱们就很少去看这种API文档了。啊,这个东西其实个别的方法,个别的类,我们在eclipse里边去去看它的Java do的介绍,也就也就够用了啊,所以这个东西的话,一定是先有一个整体的认识。啊,先有整体的认识,然后呢,你具体用到哪个方法的话,然后具体再说啊,肯定不可能说大片的靠看这个去学啊,这个就这个就太太崩溃了啊。哎,好嘞,这就是我们说的这个先对spring boot呢,咱们先有一个初步的一个了解哈。
19:03
嗯,后边咱们看看写个hello。
我来说两句