00:00
好同学们,那么第五节呢,关于idea的这个详细设置啊,咱们就告一段落了啊,下来的话呢,大家把这个设置呢,都可以自己呢走一下,然后接着的话呢,咱们来看一下这个第六节叫做工程与模块的管理啊,这一节的话呢,咱们就具体深入到idea呢,具体这个代码的整个结构的这个层面啊,来去给大家做剖析了。好,那么首先的话呢,我们说一下idea当中项目的一个整体的结构,这儿呢涉及到一个层级的关系啊,这个关系呢是这样子的,首先呢,整体上来讲,我们一个idea的窗口对应的是一个就是我们所谓的一个工程。好,那么一个呢,我们可以创建多个,这个翻译过来叫做模块。啊,那么一个模块下边我们可以创建多个包啊,咱们可以按照相关的功能呢做区分的是吧?诶创建多个不同的package,就是包的概念,然后呢,在具体的这个包下面呢,咱们可以创建多个class,当然呢,你也可以是具体的,呃,比如注解啊,接口啊等等,咱们都以呢来做一个泛值。
01:05
所以这呢就有一个层次的关系,工程下边有模块,模块下边有包,包下边呢有具体的类啊,都是一对多的关系。诶这块大家呢,构成整体上的一个概念啊,就好比是呢,我们说呢,有这个具体的,呃,每一个学校啊,学校里边有年级,年级里边有班级,每个班级里边有很多的学生,诶每一个层级也都是一个一对多的关系。那么这块呢,我们首先呢,回到idea的这样一个层面,咱们稍微的呃,体会一下刚才说的这样的概念啊,呃,这里边儿呢,我们涉及到整个呢,咱这是一个idea的一个窗口,对吧?那么一个idea的窗口啊,咱们说呢,它就会对应着一个project。就是咱们所谓的一个项目,咱们这里边这个项名呢,叫做是吧,就叫这个名字,那如果说我新创建一个。啊,那么自然而然的我们就会对应一个新的idea的一个窗口啊,比如说大家你看啊,我在这个这个位置呢,我去做一个new啊,New一个啊这呢,我们是不是要创建一个新的工程啊。
02:09
OK,好,我这呢,比如说就命名为叫做idea呢,叫DEMO。一。好,那么它呢,同样的存放在我这样的一个location啊,这个位置下,Java的一个工程台阶是吧,然后呢,GDK17.0.2 OK,这都没有问题,直接呢我们做一个create。那么接着呢,他会问我说呢,你是想呃,在我们当前这样一个窗口当中去打开这个工程呢,还是说呢,你再开一个新的窗口呢?言外之意呢,就是我们一个工程啊,对应的就是一个窗口是吧?那如果你要点第一个的话呢,就把咱们刚才这个窗口呢给替换了啊,这个关掉,然后这个打开是吧,那那要不的话呢,我们就选一个new。好,这时候大家会发现呢,我们开启了一个新的窗口啊,你从下边来看,这是不是就有两个窗口了。哎,没有问题啊,行这儿呢,就咱们说的两个工程的概念。那咱们还拿第一个工程来讲啊,这呢是一个工程对吧,那这个工程下边有mole吗?诶似乎我们看到呢,没有什么module对吧?诶但是呢,大家你发现啊,我如果打开这个啊,打开这个叫时候,咱们看到啊这个呢叫就是咱们这个当我们开这个。
03:21
诶,这个models就是我们所谓的模块,大家呢,你会发现呢,咱们,呃,整个这个项目的一个工程呢,也躺在这儿了。哈啊,也躺在这儿了,那杨爱志呢,就是把我们这个工程呢,是不是也当做是一个module了呀?诶其实诶是可以的,什么意思啊,大家你看哈,咱们在这个module下面说可以写包,包下面可以写类,你会发现呢,咱们当前这个功能下面是不是也有一个SC啊。这个src下面呢,也有具体的包包,下边你看还有具体的类。啊,文件里边这不放的都是具体的类吗。是吧,诶也就是说咱们当前这个工程啊,下面呢,其实也可以放具体的这个代码的啊,诶只不过呢,一般情况下呢,我们常常呢,就不在工程下边呢去写这个代码了。
04:03
啊,一般的就不往这写了,但是呢,其实它也可以看作是一个具体的一个module了。诶,Model就是我们所谓的模块的概念是吧?诶那咱们呢,诶除了这个本身这个工程呢,看到这个拈之外呢,咱们还可以呢,创建新的模,那我们这儿呢,就可以点右键,诶去new的方式呢,诶去创建module。这呢你就可以做一个命名啊,比如说我这块呢叫呃module,哎这呢,我就叫个MODULE01吧。诶,新创建一个module,这个module呢,它存放的位置呢,诶注意哈,习惯上呢,我们把这个module啊,要放在当前的这个工程的下面。也就是我们跟这个工程啊,它是一个上下级的一个关系。啊行,这块呢,我们都不动DK呢,可以独立的你去选择,呃,是跟我们整个的工程一样吗?还是说你独立的选择1.8.0.271是吧,一个。
05:00
啊,大家看到这时候我们这个model呢,是不是就创建成功了。啊就在这儿是吧,它在SC下呢,同样呢,可以编写代码啊,举个例子啊,咱们比如说你一个先呢,创建一个包的概念啊,Com点啊,比如艾特硅谷点啊,咱们就Mo吧。好在这个下边的话呢,我们同样的可以写一个,哎,Hello。Hello module。哎,这样是吧,然后进来以后呢,咱们这块呢,写一个这个没方法。哎,再来一个啊,哎,Hello。Model是吧?好,那这时候呢,我们可以呢,点击这样一个run的操作呢,去做一个执行啊这呢就好比是我们在这个Mo下边呢,写了相关的这个代码呢,做了一个运行的操作啊这个大家呢,其实也不陌生啊好,那么接着的话呢,我们可以再在当前这个project下面去创建新的是吧?这呢,比如我们就命名为啊叫啊零二。哎,MODEL02行,其他的位置我都不动,这个呢,你要比如说我们体会一下啊,改成GDK1.8的这样个版本,我们做一个。
06:01
啊,这呢,是不是就创建出来了,创建出来以后呢,我们在这个位置呢,其实你就会看到有两个不同版本的是不是JDK了啊OK,没问题啊,哎,这个下边呢,你同样的可以去编写具体的代码。啊具体代码,比如我们把这个呢在呃CTRLC一下,哎,我直接呢CTRLV啊,然后OK一下,这呢我们相当于粘过来了啊,只不过这个粘的时候呢,我们光把这个呃最后的这一层mole这个呢给它粘过来了啊就这样的一个情况。OK啊行,这呢,就是我们两个不同的这个Mo就创建成功了,那么接着的话,我们回到这个project structure这块呢,如果我们查看一下的话啊,诶大家你会发现呢,咱们这个mole下边呢,是不是就列举出来有三个不同的模块了。哎,就是这样一个关系。哎,就这样个情况啊好,呃,这呢,就我们提到这样一个工程模块啊,下边还有这个具体的包啊,包下边有具体的类啊这样的概念。好,那么整体上呢,我们再做一个介绍哈,说在idea当中和model这样的概念。整个呢?
07:08
啊OK啊行,然后呢,下边呢,我们可以存放多个module,咱们一般呢,就不说在一个工程下边呢,可以创建多个工程了。哎,咱们这个就都叫做module的概念,这个呢,注意是区别于啊eclipse。啊,这个咱们稍微的看一眼啊,这个如果是刚接触Java的同学呢,其实就没有必要去接受eclipse了,那以前呢,如果你使用过eclipse的话呢,我们这块呢,简单做一个小的一个对比哈。这个音乐的话呢,呃,这儿呢,我是打开的叫这个版本啊,这个现在的这个ES其实也在不断的去更新啊,后来呢,它也是使用这个年份这样来一个做一个命名的啊,以前呢,就是用的abcd啊这样的一个方式做的命名。好,那比如说我这块呢,打开一个啊,以前呢,呃,用eclipse写的一些代码。啊,打开了啊,在这个eclip当中,它有个概念呢,它叫做这个工作空间啊,这个工作空间呢,就类似于咱们刚才idea当中提到了一个叫project这样的一个概念。
08:05
啊啊,一个工作空间对应着啊,相当于我们一个eclip一个窗口啊,这个就好比是我idea的一个这样个窗口一样。那么在这个啊,Eclipse当中呢,你看下边呢,我这是不是也有好多的这个文件目录是吧,这里边儿呢,每一个文件目录呢,其实看做是一个具体的。注意。在eclipse当中,这里边的每一个哈都看做是一个。诶,他都可以看到这个,那么这个所谓的呢,就等同于啊,我这块稍微做一个截图哈,就等同于呢,咱们idea当中的是不是这里边这个深色的加粗的这样一个字体的一个结构,也就说呢,Idea当中的Mo等同于当中的啊具体的一个。啊,这个注意啊,然后呢,呃,Ecl当中这样一个叫工作空间的概念啊,等同于咱们idea当中这个product的一个概念。
09:00
啊,这呢有一个简单的一个对应关系啊,诶如果大家呢,对CL也不熟悉,也没接触过啊,这呢,你就当我没说是吧,诶当我没说就行了啊好,那么接着我们回过来啊。当中们说。啊,我们可以按照业务功能的代码呢,进行一个划分啊,你比如说像咱们这个,呃,商务的这个官网,如果我们看到是一个大的项目的话呢,里边我们可以分成不同的module啊,也是所谓的模块,比如说呢,大家可以在商务的官网当中在线的去学习相关的课程,咱们对应的叫鼓励学院这样的一个模块。啊,那么你也可以呢,呃,觉得呢,这个想线下呢来学习,你可以呢,报名咨询对应的就是报名咨询相关的模块啊等等等,还有其他的一些模块。啊,你比如我们在收购过程当中啊,咱们会讲到这个,诶鼓励商城这样的一个电商的这个项目,那在这个电商的项目当中,这个由于这个项目呢,它相应的代码量也比较大,我们呢也可以分成啊这一个啊电商呢,我们看成是一个工程的话是吧?啊一个的话,下边的话呢,我们也可以罗列出来很多的这个模块。
10:09
啊,你比如说诶后台的商品管理的模块啊,这个商品详情的一个信息的模块,这个诶订单的一个拈块,这个支付的拈块,秒杀的模块,诶等等这儿呢,我们就列举出来啊,多个不同的,注意Mo。哎,大家有这样一个层次的一个概念啊,那么多个不同的mole之间呢,是可以相互依赖的。啊,就是说诶,我们这个model里边呢,相应的一些代码的话,我们要诶被其他的这个模块呢所使用,这就我们所谓的一个依赖关系。啊,这个注意一下啊,那诶下边你看我写的这个事儿,大家关注一下啊,如果咱们一个项目呢,比较小,那那里边呢,可能就只有一个,诶这个是吧,那么这时候呢,我们单独的这个,其实你就可以看是一个。就相当于是一个小项目是吧,诶是没问题的啊,那么如果你要是多个猫的话呢,彼此之间可以互相依赖,就我们刚才说的,比如说像电商的这样一个场景,包括呢,像咱们商务官网,诶,比如说用户呢,他在这块呢,做一个呃,报名啊,登录啊,那相应的你这个注册的一些信息呢,我们在鼓励训练当中也可以同步的去做一个使用,相互之间呢,是一个依赖的关系啊。
11:21
那如果说呢,咱们在一个项目当中。哎,我这简单再画一个啊,这是一个product,他在下面的话呢,我们是不是可以有多个不同的module是吧,那如果呢,彼此这个module之间。彼此的这个model之间没有依赖关系。啊,没有依赖关系的话呢,那就相当于他们都是独立的,就是他们互相代码之间的,没有互相的这个引用的关系啊,那我们把这里边的每一个啊,其实呢,也都可以看成具体的一个小的项目。啊,小的项目这个你要非要翻译的话,那小的项目实际上就有点儿像一个小的一样了。哎,就这样一个情况啊,应该呢,大家能明白我才说的整个这样一个意思吧,这呢,我们就到了和之间的一个关系啊,一个。
12:08
下边啊有多个Mo啊,多个Mo之间可以互相依赖,也可以互相依赖。啊,这样一个情况啊,咱们在这个呃,Java基础这个阶段的话呢,模块跟模块之间呢,咱们就通常不讲他们之间依赖关系了,等以后咱们做到具体的项目的时候,呃,需要用到这个依赖了,那比如说像电商当中,到时候我们再去说这个事儿啊就可以了。好,那么大家呢,明确一下,我们这个model呢,该如何呢去创建啊,以及呢,我们刚才提到这样的一个层次关系啊,要清除好,那么这个清除以后呢,接下来啊,咱们说了Mo的一个创建了,下边呢,我说一下这个Mo的一个删除情况。啊,这个我不想要了。是吧,我想删掉怎么办呢?啊说这个还不容易吗?直接右键呢,直接去delete删除就完了是吧?诶大家你会发现啊,我右键啊,比如我们这里边儿这个MODEL02呢,我就不想要了啊,诶我点右键呢,想把它删掉,这时候呢,你在这个下拉框里边,你是找不到这个delete的操作的。
13:09
是吧,没有啊,哎,它有一项呢,叫做Mo。Remove就是移除的意思,诶那移除是不是对应的,我们所谓的大家理解说,那是不是就删除啊,那后边对应的这个快捷键呢,还是个delete是吧?好,那我们就这样做了啊,诶那做之前呢,咱们先把这个我把它打开一下啊,我做一个截图啊,这个是。呃,做一个证据是吧,啊大家你看啊,现在的话,我们这个整体结构呢,长这样子,我现在做一个。啊,做一个啊操作啊操作完以后的话呢,大家你会发现我们这个所谓的module呢,似乎并没有删掉它还存在着呢,只不过呢,诶好像他没有加粗了。而且呢,像我们这里边儿这个代码啊,原来我们这有个C是蓝色的,相当于它是可运行的,现在的话呢,它显示的是一个文件啊,只是一个普通的Java文件了,这儿呢,也没有咱们所谓的一个运行的这样一个标识了啊右键你看也没有。
14:02
那这是什么意思呢?啊,也就是说当前咱们工程下的这样的一个MO02,就是一个普通的。文件目录。啊,它的级别到不了model这个级别,那既然不是model,它下边呢,呃,这个代码呢,我们也不认为它是可执行的了。也就是说如果我们打开具体的啊磁盘文件目录的话。我刚才点了一下是吧,好磁盘文件目录的话呢,大家你会发现啊,在咱们当前这个工程的文件目录下呢,MODU02依然是存在的。依然是这个。啊,因为我们已经移除了,对吧?好,诶也就是说咱们这个Mo呢,如果大家你真的不想要了,诶,除了刚才执行这个叫remove Mo之外呢,诶你要是彻底不想要了,你再点此时咱们就能看到delete这样一个操作了,我们再点一下这个delete。
15:07
这块呢,就会提示我们说你是不是真的要delete呀。大家注意了啊啊,这块我要提高一下嗓门啊,这个底例的操作啊,真的就把它给删掉了,而且没有放在回收站啊。什么意思啊,就是这时我要删了,就真的就删掉了,你说我后悔了,那不好意思,没有后悔药直说,哎,我现在就大胆的,我点一下了啊,没有了。啊,这时候注意他不走回收站就真的给删掉了,所以说呢,我们在呃删除猫队的时候呢,大家一定要慎重哈,你比如说呃写了一夜的这个代码是吧,然后呢,这个早上的时候呢,这个可以睡觉了,迷迷糊糊的这块就给他做了一个瑞啊瑞木呢,其实还不可怕啊,可怕的就是你真的做了一个delete。啊,这个大家一定要小心,所以呢,我们真正在实际开发的时候呢,通常诶,在代码编译到一定程度的时候呢,除了你测试之外呢,是不是我们要把这个代码上传到相应的这个,比如get上面是吧?如果呢,你要做了一些错误的修改和操作的时候呢,你可以再把这个get上面这个代码再给他这个。
16:06
下来啊,我们做一个覆盖啊就可以了啊,现在的话呢,咱们没有使用到这个版本控制工具啊,咱们纯粹的就是在本地呢做的一个操作,所以这个时候的删除大家一定要慎重。OK,像这呢,就是我们给大家强调的,呃,这样的一个概念。
我来说两句