00:00
好,那第二步呢,更重要的那图形这有了对吧,那我们要给他访问的接口啊,最终呢,在这写API拉取,给他一个地址去读取,对吧,那我们要把这个地址的部分去完成一下,也就是说我们要写这个数据。接口。对吧,咱要去写这个数据接口,OK,那么接下来呢,我们就打开。这个就可以关掉了啊,这个东西呢,说起来在创建一个项目,这是数据接口模块啊,再创建一个模块me就够了,下一步然后呢,叫g Mo。杠publish。好吧,叫这个名字啊。哎,不对,写错了什么妹妹。Module啊,选择module啊,不是啊,应该是spring。Spring啊,选择spring啊,刚才选错了,选不对啊选spring,然后呢,你们一般勾的是这个吧,这是默认的。官网啊,就是脚手架的一个下载地址,那我们还是建议用国内的。用这个阿里云。
01:02
OK吧,诶点错了,嗯,你们要是之前没有保存过,你们之前不是写过吗?大概率应该是保存过,没有保存过,你把这个地址记一下好吧,没有保存的把地址记一下,这个肯定快很多啊,你要这个可能会失败。失败了,你就得重来。啊,重来比较麻烦,因为你可能你这个名字怎么样,已经被占用了啊,你最好重来的时候换个名字,要不然你要清很多的缓存啊,乱七八糟事也比较多啊好,那这个下一步。这个我们就稍微等待一下它的一个初始化啊。看点爱的硅谷吧。然后这边写G-publisher。然后账号八没有问题,这些东西没有问题,下一步啊。然后这边选择依赖对吧,啊选择依赖,那我们想一下我们这边要干啥事。
02:03
我们是要从C读数据。做一个数据接口就行了,对吧?啊,那这里边框架就CC呢,用JDBC去。写的。对吧,所以呢,我们首先选择第一个啊呃,Spring web加一个啊,开发工具呢,像这个book勾上这边就是选依赖啊,就算你没选也没关系,你最后手动添加一下就好了。对吧,这边其实就选依赖啊,然后呢,关系型数据库这个JDBC那肯定要的对吧,然后呢,JDBC呢,我们也不会自己去写这个代码啊就是。创建连接啊,这些东西不自己写啊,用MY帮我们去完成。OK吧,那我们先勾一下啊,这个呢,我们用最新的。2.301行这些东西呢,其实你可以不勾也无所谓,你都可以在上面就改OK吧,好那下一步下一步呢,检查一下这个路径没有问题啊,直接完成。
03:00
啊,它就会下载一个地址,这个就很快啊,下载一个这个脚手架。从阿里云去下载吗?这个就很快啊。好,那publisher这个就有了,然后把基本的信息呢,我们加一下啊,他没有完成啊,稍等一下。嗯。好,那这边已经构建完成了,然后呢,我们把按照文档当中呢,把基本的信息去。添加一下,首先呢,我们添加两个依赖。这两个我们添加一下对吧?呃,第一个康朗三这个呢,拼接字符串比较好用啊,第二个是克里浩的JDBC,你肯定要把它拿过来,这个在我们项目当中是没有的,对吧?放文件里边啊,拿过来,拿过来完以后呢,我们就给它放到最后啊,放在这儿。然后呢,我把这里面test什么东西啊给它去掉,因为没有用嘛,对吧,这个test这个不要了啊。
04:01
看没有了吧,就是这个test。好。呃,把T去掉呢,然后接下来这边啊也有代码,把它也删掉吧。这个test都没有对吧。直接把它删掉。要不然运营的时候他还给我们报错,没必要对吧,好,那我们的po文件就搞定,就依赖就解决了,对吧,那接下来往下。目录等会我们再说啊,主要是把这个配置信息我们拿一下。拿过来啊,这个端口号呢,我改成8070。改成8070好吧,呃,那为什么要改成8070呢?因为默认的8080啊,如果在生产环境当中,你是不是要打包到集群上运行?当你打包到集群上运行的时候,你的ZK已经占用了8080端口了,就已经被占用了,对吧,所以呢,你就没办法用了,你到时候会冲突。
05:05
对吧,所以呢,我们就改一下8070,然后这个是最后这两个东西添加的。对吧,添加的k house的一个URL跟这个驱动啊,驱动呢在这边有啊呃,然后呢,这个我再改一下,我叫J。220212对吧,我们的数据库是不是叫这个名字啊,对吧,你粘过来得改一下啊,把这个改一下啊,那我们基本的环境就。构建好了。对吧,好构建好了,然后我们接下来聊,我们在。这种web项目里边它分层。怎么分?有几个东西,有几个名词,大家可还记得?
06:06
啊,Controller。我们要回顾一下这个东西啊。还有一个呢。Maple啊,或者叫DAO吧,叫DA对吧,只不过说呢,咱们用MY帮我们构建,所以呢叫maple。没毛病吧,啊就是这些东西对吧,好,那他们之间呢,应该首先前面。是不是还有个用户就相当于客户端。对吧,下面呢,还有一个数据库吧。数据库这个呢是19号。他们之间调用关系什么,那客户端呢,负责发起请求,也就是说比如比如说在这边啊。我们俩访问一个页面。那比如说访问这个页面。域名,然后呢,这就是访问的地址,它会绑定方法对吧,那你当你访问这个地址的时候,它会。
07:06
找这方法对吧。啊。那就客户端发起请求controller呢,做一个拦截对吧,拦截到了control会调用controller里边的方法。啊,会调用controller一个方法啊好,那这个它调用它controller干什么,那接下来你调用我我处理,我要给你返回数据啊,对吧,或者返回页面啊,那没有怎么办?没有呢,你调用你得调用谁啊service。好,你调用service对吧,Service呢是负责加工处理的啊,这边呢,我们写一下啊,这是发起请求。这是响应请求。对吧,他是负责拦截啊拦截。并响应请求的对吧,而service呢,就是加工数据。他是负责加工数据的,因为你要的格式呢,可能呃,我从MY里面读出来,或者说从这个数据库里边读出来,并不是你所想要的这个。
08:09
格式的样子对吧?啊,那我只要加工啊,那你加工得有数据啊,所以呢,Service去调用谁啊do。啊,他负责去干什么,加载数据的。对吧,他要负责加载数据啊,那最后呢,这是持久化嘛。数据库。啊,这个或者说把他俩换个位置。它是数据库存储数据的。对吧,他是负责这个存储数据的这样的一个关系,对吧,他们之间。调用调用。然后呢,那你调用。Circle,我就给你返回数据对吧,返回数据啊,给你你就加工啊,那给你加工好的数据,你呢,返回给页面响应请求嘛,对吧,它之间呢,是这样的一个调用关系啊好呃,那实际上呢,这个是客户,这个相当于菜市场。
09:12
对吧,这个整个的呢,是一个饭店,而这块儿呢,相当于谁的功能服务员。对吧,如果你把这块外部接口负了一个,做一个什么饭店。啊,做成一个饭店,那么它相当于什么服务员?服务员,而这个呢,相当于是厨房。对吧,厨房加工菜系的啊,那这边呢。加载数据采购吧,采购部门,而这个呢,属于菜市场,而这个就是什么。消费者。对吧,大致的他们调用关系是这样子的啊呃,但是从重要程度来说呢,这个就不对了,因为这里边儿如果说让你说一家这个饭店哪个最重要,大家可能觉得是厨房啊,对吧,但是他们虽然调用关系是这样的,但是呢,嗯,因为你看消费者他需要找服务员点菜。
10:15
点完菜之后,他就把菜单抱到了厨房。啊,当然我们这个说的其实采购早就采回来了,是吧?啊,那我们就临时去买菜,买菜呢,他得到菜市场了,买回来了啊买回来之后呢,交给厨房,厨房做加工给服务员,服务员最后摆盘上桌,对吧,他调用关系满足这一套,但是呃,重要程度,大家可能觉得厨房比较重要,但是在我们这三层里边,大家觉得哪一层最重要啊。你觉得哪一层最重要,这里边儿。就是对于我们这个服务来块,对吧,这个服务来说,对其实就是。服务员最为重要,因为我这个服务员比较牛逼。
11:01
对吧,比较强,他可以自己干什么,他可以自己做菜。啊,他不光可以接订单。摆盘对吧?啊,不光可以做这个事儿,他还能干什么呢?他能加工。啊,他也能够干什么,干采购是吧,他一个人就把这个事儿包裹了,你点菜了,好,我立马就买菜买回来做。对吧,他可以做这个事情,但是这个就,嗯,那为什么要分层啊,本来我一个controller就够了,对吧,我只要有controller就可以完成所有的功能了,分层的好处是。分层的好处是什么?小摊老板对了,小摊老板对吧。能够接到单才是最重要的啊,那想想这边呢,也做了一个分层,那分层的好处是什么?姐,我服用吧。
12:01
对吧,解耦复用啊没毛病啊,啊就是你分层之后,假如说你有个需求要改,如果你把所有东西都写在一块儿,特别的,有没有可能我有两个需求,这个需求呢要用到AB表数据,这个需求呢用到BC表数据。那如果你都写在controller里边,那你这个。B是不是获取两次,你要一改都得改改好几个对吧,那如果分层我专门把A。BC单独获取数据,我写一份。对吧,那你呢,无非就把他俩调用两个方法组合一下,你呢,调用这两个方法组合一下,那B呢,我就写了一次。对吧,跟方法提取是一样的,我们呢,也就相当于把这个东西呢,提取出去了。对吧,是这个意思啊好,这是我们对于这个的一个简单的介绍,其实大家前面呢,也都学习过了啊,接下来呢,我们就简单应用一下啊。
我来说两句