00:00
项目的结构我们已经搭建好了,那接下来呢,我们把一些最基本的类和包,还有接口呢,给它准备好啊,搭建一个基础的环境,那所以呢把它关掉,那么基础的环境肯定common是非常重要的,所以在我们这里大家看我这时候出现了个问题,什么问题呢?我们的这个项目当中,你会发现这个main下面的Java和resource呀,这个文件的颜色不太对的啊,如果你比较熟悉的话,你应该知道他们两个颜色应该是有变化的,什么意思啊,咱们看这边我打开以后,你会发现我们的家va应该是个蓝色的被那个颜色,这个应该是带着什么几个小横杠的说明啊,我们当前的这个项目呢,它的识别是有问题的,所以打开我们这边,打开这边以后,点击我的module,然后呢,在这里面找到我的什么produce和那个common,这个common呢,你选择我们这边,然后呢,选择,然后选择Java,你要明确的告诉他,他是一个源码文件夹,你在告诉。
01:00
倒是它是个资源文件夹,把这个选中颜色变了才可以啊好,那我相信这个颜色不对,这个颜色可能也不对,所以呢,我选一下,诶果不其然啊,我们的source,我们的这边点一下,诶把这个颜色我变一变,让我的开发工具能够识别不同的文件夹。好了,那我现在已经准备好了,最起码呢,我的这个common准备要添加内容了,接下来我来添加我们的new,创建我的package,这个我就写上叫com点艾特硅谷,点我们这里呀,艾特硅谷之后呢,我直接加什么呢?叫CT啊加CT,然后后面叫common。诶,我们就加一个common就行了啊好,然后呢,我点击OK,那么这是一个共通啊,那如果是共通的情况下,里面会包含哪些内容呢?比方说我们的一些工具类,比方说我的病啊,比方说一些其他的一些呃,常量诶都可能会在里面出现,所以啊,我在这里面加上new,我在创建一个包,这个包的名字我们就叫B。
02:08
啊,就是我们共通的一个东西啊好,那然后呢,我在这边再来,嗯,我把这个呢给他来复制一下啊,来复制以后点击Java我们的new创建个package,诶OK,我这个就不叫B了,我们叫YouTube叫工具啊,点击OK,然后呢,我的。com里面再加new,我们再创建package,我们叫常量。啊,我难免会用到一些常量嘛,诶把常量我们也给它定义好啊,点击OK啊就可以了,嗯,好了,那我现在呢,把这三个包呢,给它创建好以后呢,我接下来我准备呢,创建一些基本的一些接口啊或者类啊,给它创建一下,那首先第一个是我们的B,这个B呢,要创建一些基础的对象和共同性的对象,所以啊,在这里呢,我new我来创建一个叫直对象。所以我写上叫value,我就叫value啊,然后呢,这边呢,我给他个叫interface啊,也就意味着我们取值生产值全都跟Y6有关系啊,把接口创建出来,点击OK啊,所以呢,我们写上咱们叫做值对象接口,嗯,只要你的数据跟我的取值有关系的,你要实现这个接口,你要实现这个接口的话,它应该就有一个方法,这个方法呢,干嘛呢,是用来获取它的值的,所以object啊,我们叫get value诶我就获取它的值,或者你为了简单起见,也不用非得写的那么麻烦啊,来写上一个我们的V,然后呢,把这个呢给它去掉。
03:38
你这么写的话也可以,你的目的不就是为了获取它的值吗?诶,我就这么写,这就完事了啊好,那这个B有了以后,我接下来咱们再加一个,加什么呢?我们的producer生产者,生产者它不是固定不变的,不是说固定就是拿日志,可能不是日志,可能是别的,这都有可能,所以啊,在这里呢,我给他一个接口,New,我创建一个类啊,一个接口叫producer,然后呢,我写上一个我的interface,点击OK,点击OK以后我可以生产数据。
04:11
那你能生产数据的话,里面就应该有一个方法,这个方法叫做WHY呢,就叫produce。就叫生产的意思啊,所以我们写上叫生产者,咱们叫生产者接口啊接口,那这个方法呢,就是生产数据的方法了,所以写上叫生产数据啊,生产我们的数据啊,就这个意思了,好了,那你生产的情况下,那可是你是从哪生产的,你数据来自于哪里,你准备生到生产到哪去。诶,这个你就告诉我啊,比方说你来自于我们的服务器tomcat,然后呢,你准备呢,把它生成一个什么呢?我们的日志文件,诶有一个生产的过程,数据从哪里来到哪里去,所以啊,我这里呢,光这么写还不行了,那我这里呢,再加点东西,我加什么呢?这个B里面呢,我再加一个,加一个我们的这样的一个东西啊咱们写上咱们叫做什么呢?叫data in。
05:08
啥意思啊,同学们想想是不是数据的来源呢?对吧?数据是哪来的啊,那所以我们把这个拿过来,咱们叫做interface啊,有个数据的来源,然后呢,我这里再加一个new,再创建一个叫data out,数据的输出位置你从哪来的,你到哪去,你要告诉我啊,那所以呢,我们得再给他个interface点击OK啊,有一个in,有一个out,那你的producer就应该有印有out,所以在这里呢,我们写上啊,咱们来,咱们叫public,然后VO,咱们叫set in,你告诉我你的数据来源,那么OK,你给我传个叫data in。啊,你给我个data in就完事了啊,然后接下来呢,你还得告诉我一个叫做数据的输出,你准备输出到哪去,你的生产数据你放到哪,你要告诉我,所以这里呢,写上一个outt,然后呢拿过来啊,也就意味着我的输入和输出不是固定写时的,它是变化的啊,在工作当中我们一定要考虑这个通用性以及扩展性,你不能把程序一次性就写死了,是绝对不合适的,要考虑这一点,所以我们一般就是面向接口编程,会创建大量的接口啊,一定是这样,其实我们之前学什么卡夫卡那些东西,包括我们的呃,S space,你会发现那些API里面是不是都是我们的接口啊,对不对?什么table啊,Mean consumer producer,是不是全是接口啊,啊,全是接口,那这样的话,我们的那个实现类可以有很多种,不见得非的是什么,想想我们的那个消费者是不是有个叫卡夫卡consumer,但是我们第一级消费者是不是叫simple consumer,对吧?但是你会发现他最终是不都是consumer接口啊?
06:47
怎一样的啊,面向接口编程嘛,诶,这是我们开发项目所要考虑的事情,我们在这儿就要事先给他体会出来,以后咱们写代码也要这么来做啊。好了,那我这个写完以后,那接下来我们再写点别的也可以啊,既然你要有数据,那我就准备个数据吧,咱们这里就new啊,我创建一个date啊,这个date,这个date呢,我们也是一个接口,然后诶看要接口就不合适了,因为数据呢可能会直接来用,所以点击OK,点击OK以后,然后呢,我们这边有个接口啊,所以我们这边来啊,咱们写实线,我们的value,诶就是这样,然后把其中啊,因为你要取值啊,你要取值的话,把你的这个方法呢给它来啊重新操作一下,嗯嗯,好了,那我现在呢,我就写上一个咱们叫做什么呢?Public啊,咱们的视频OK啊呃,这是我们的数据,数据呢你要拿到它的这个内容,然后这个呢,我就返回这个内容就可以了啊,就是这样,然后呢,我接下来干嘛呢?我再来一个,你这边能够获取value,那我还可以往里面放啊,诶,所以我们写上啊,咱们叫做什么呢?Set我们的value,哎,咱们再写一个,然后呢,把这个呢给它放过来,它等于。
07:58
VALUE6,然后这里写上个string啊,有set有get啊就可以了,这个呢,VALUE6好了,那这样的话就是一个最基本的一个数据啊,咱们给它来准备好,咱们写上咱们叫数据对象,嗯,行了啊呃,我看我这写错了,这个set呢,应该是个white啊,应该是个嗯,好了,那我现在这个我们写完之后啊,那么我们基本的对象咱们就准备好了,但是我们后面能用哪一些,咱们后面再说啊,接下来是我们下面这个叫常量了,这个常量一般咱们怎么用啊同学们。
08:34
常量怎么用?常量是不是就写一个常量类里面写一些final的static的一些东西啊,对不对,但是我们之前啊,咱们碰见这么个事儿,同没看我之前咱们给大家写那个map的时候,大家有没有发现,我们当时其实咱们打开啊,嗯,点开点开以后点开它,咱们当时给大家介绍这么个东西,你会发现它是不是也是常量啊,它常量,而且这个常量不能改吧,你看也叫常量,叫成功嘛,而且它的常量是不是二啊,就意味着这个二就表示成功的意思,所以啊,既然它能这么做,咱们难道就不能这么做吗?我们也能这么做,所以啊,咱们就模仿一下啊,刚看这枚举这些东西啊,该怎么用,如果仅仅是一个final的static的相对来说比较简单啊,所以我们这里呢,参考它的实现方式,在我们的项目当中给它稍微的用一下,所以我们的common里面我再加点东西,咱们的常量也采用这种方式,所以来我们在整个的那个。
09:36
操作过程当中,跟字符串,跟数字,跟名称打交道会非常多,所以我这里new,我创建一个它,我们叫做names。名称表名,列族名,字段名,哎,我用这个来表示,然后呢,里面我加一个叫enough,点击OK啊,一个我们的枚举,那这个枚举当中啊,我要知道一件事情,枚举能不能实现接口。
10:02
可不可以啊,媒体系也是一种类型,对吧?那所以呢,它也可以实现我们的接口,它实现接口的话,那我这里呢,就可以重写它的那个方法,咱们叫value啊,就这个东西,那如果能够重写这个方法的话,那么同学看我在上面就可以加东西了,咱们别的不说,比方说我们这么写,咱们叫做什么意思啊。是不是命名空间呢?命名空间我加一个咱们这个项目叫CT,那我的命名空间我就希望叫CT,还有这么写,那这样的话大家想想我在访问的时候,是不是直接写个names namespace就行了啊,我就是一个命名空间的名称,我就明白了啊,都不用写别的,所以这个CT呢,我们就可以这样,但你这样的话报错,那是为什么?因为你这么写是不是等同于访问了它的构造方法呀,哎,所以我们这里写上叫pro,我们的names对吧?诶,OK,然后呢,在这里我要准备一个,诶它我们叫做什么呢?Name啊,就叫嗯,就叫S吧,或者就叫name也可以啊,然后呢,在这里我们写上一个叫我们叫做string,我们叫做name啊好,写完以后呢,在这里我们写上叫this.name它等于name,然后我返回我的value,返回的就应该是它,然后呢,我这里返回一个字符串,反正就是一个stream嘛,诶把它加上就行了,所以这里写上啊,咱们叫做来名称,我们的常量啊,咱们叫做常量枚举类啊,咱们叫枚举类,就是跟名称相关的,我都放在这个里面去啊,就这么个概念啊。
11:38
好了,那这个写完以后呢,那我这边呢,U现在U啊,我现在啥都没有呢,你说要个什么字符串,要个什么数字,要个什么h base,这个咱们啥都没有,咱们用到的时候咱们现封装啊,所以啊,我们现在就先不管别的了,这个呢,咱们就给大家先把它准备好啊,在common里面给它准备好,嗯。
我来说两句