00:00
好了,我们要开始上课,那咱们这个软件开发的生命周期现在已经来到这来了哈。表都设计好了,都确定好了,那下边大家这些我们说我们现在这个阶段先不做了啊,先不做,每做一个功能的时候,我们再设计做这个功能需要创建哪些类。这些类都是什么样子,到时候我们再一个一个功能的设计,就一开始不可能把所有功能都设计好。这些类都设计好,那几百个类你咋设计?而且设计的没法调啊,所以大家看我们说这个地方我们不设计啊,当然这些都是设计好了,美工帮我做好了,不用管了,算法没有,下边搭建开发环境,这是什么?搭建这个开发环境,那搭建开发环境我们说这个地方咱们前面给他说了,按理说应该是项目经理是吧,自己在服务器上搭建一份,或者在他自己电脑上搭建一份。然后通过一些软件,然后传到服务器上面。那这个项目组里边所有的程序员,然后也得通过这个软件到服务上去下载,下载了之后在这个基础上来进行开发,按理说这个开发环境是项目经理大家一份,大家以后在这个基础上开发就行了。
01:13
当然我们说这个这些搭建开发环境用到这些技术呢,大家都已经学过了,都是你会的技术,所以搭建开发环境我们要求大家每一位同学都能够在自己电脑上搭建一份,知道吗?你别指望着下别人的,把别人搭建好,你下载别这样,你自己得会搭建,你学一门技术,这个技术怎么在项目当中怎么用的,你必须得会知道吗?所以大家我们自己会搭建一份,那下面我就给大家演示一下,我们我在教师机上搭建一份,那你课下你在你自己电脑搭建一份,以后在这个基础上开发就行了,知道吧。好这一个,然我这个好像是今天好像还有还有多少二不到半个小时时间,应该说今天应该搭建不完,搭建搭建到哪到哪,到时候你看一下,你跟着我做就行了道吗?好这个地方我们先来搭建开发环境,下边我们这个地方来。
02:08
搭建开发环境好,搭建的时候我们一步一步来做,首先我们得创建,那么创建我们的一个项目,先创建项目啊,创建项目。啊,那创建项目,搭建开发环境,得用我们的idea,得用这些编辑器了,因为我们的代码,将来写代码都用这种,这个集成编辑,这个编成这个编辑器就集成编辑器啊,我们主要是用这个I idea到公司,你说老工作过程中是不是用ID,对不一定啊,反正现在最火的就是ID,但还有别的这种编辑器知道吧,因为他现在用的最好用。啊,像我们就用这个,我们就以这个为例了,那到公司大家有可能用这个呢,Eclipse,还有还有可能用这个呢,My eclipse知道这是前几年用的比较火的这两个工具,现在慢慢这两个就被被淘汰了,技术不断发,不断这个进步的不断发展。
03:19
为什么?因为这两个工具大家你用的时候,假如你到公司的时候有有机会用他们的话,你会感觉到你用习惯了idea之后,用它就用的不太,这个不太好了,体验不太好,我也这主要体现在什么呢?主要体现在对对导包啊,还有一些什么这个提示信息,就提示的时候没idea做的好。做idea做的大量的提示是吧,这甚至自动补全的一些功能,Idea做的比较好,知道吧,再一个idea是这样,Idea它不但是吧,它有项目和工程的概念,就还有工程工程。说一个项目下边可以创建很多工程,这idea支持项目和工程的概念,当然ecls和MYELIS呢,他们对他们不支持工程的概念。
04:08
他们一个项目就一个工程,就一个项目知道吗?他没有项目和工程的概念,它只有一个project,他没有这种工程,工程什么,就咱们前面说的Mo是吗?就一个模块一个模块的知道吧,他这这这俩都不支持,你说老师这俩不知为什么要支持工程的概念。啊,因为我们以后都是什么叫分布式开发,什么叫分布式开发,就一个项目可以有很多模块,就很多工,很多什么工程,一个模块的,一个一块功能做到一个模块里边,一个一个一块功能做到这个模块里。知道吗?一个大的项目下边可以分很多模块,模块分开来做,分开来做有什么好处,万一一个错了,只影响他自己调的时候也好调,最终把多个工程,然后呢集成在一起,然后呢来完成共同整个项目。
05:02
所以它是分开开发的,所以这样的话比较符合我们这个技术发展的趋势,叫分开来做,这样更灵活,知道吧,那他这种Li,你做一个工程,你做一个工程,只做一个项目,所有的工程,所有模块的东西全放到一个工程里边,大家都堆在一起,一个工程里边将来会有什么几百个类,每一个类里边几十个方法,这是上百个方法,哎呀,你一打开那个什么,左边这个有个导航栏,全部都是类,所以以后维护不好维护,万一一个错了,所有的都起不来了啊,所以提出的是这么这个什么开发的时候不好,不好开发,所以这种技术慢慢什么被淘汰了,被淘汰了,所以现在什么虽然当然我们说淘汰它是需要一个过程,他不是说一夜之间大家都用idea了,不是这那如果以前的项目们开发的时候还是用e lips,那我说那大还是和什么,他那个他也不可能说一马上就换成idea了,他有一个过程,大家适应的一个过程,包括一些这别老成语啊,他用一。
06:02
辈子E格利S了,用一辈子买个利了,突然让他用idea,他还不习惯吗?知道吗?所以这人人就是这样,大家这种习惯的东西,你想让他改,习惯不好改,知道吗?人都这改革都是都有阻力的,就来自这守旧势力,知像我们这些都是新生势力是吧,全部都是说啊用idea学的时候就用idea,到公司我也习惯用idea,但是你到公司时候,你看到那些老成员那比较关注你知道比较关注对你跟他吵架的是你对他就是他就坚持他那一套东西,我用一辈子这么开发的,我还比不过你吗?知道吗?啊反,但是他一用啊,确实他不如idea知道吗?啊,所以大家我们说到公司当中有可能还会用和MY特别老项目,你知道啊,那你说我们用idea,我们用ecls,以后用的时候还会用ecls嘛。你只要会idea eclipse类似idea比eclipse用的时候就是它有工程的概念,它肯定是付出代价的啊,你可定要在工程下边,在项目下边创建工程,那么那么我们说就是,所以他就稍微麻烦一点,但是体验上面更好,知道吗?啊,以后维护的时候更好啊,但是真正真正什么一开始用的时候ecls甚至比他还简单了,但就以后写代码体验上面,以及他这个对代这些代码的维护上面不如idea,但真正说一开始入门,到时候就是e exhibitips和MAG更好入门,知道吧,所以大夫你不用担心说我学的时候学idea,我以后用eclip都会用,你只要会idea eclips,你简单一看你就会了,知道吗?
07:39
啊,所以大家不用担心这个,但我们这个地方就什么,就是这个是基于idea来开发了啊,那基于idea,那我下面什么创建项目,我就在idea上面创建一个项目了。那创建一个项目,这个项目的名字我就简单叫这个了,首先叫个CRM,叫project,当这个项目呢,你随便写了啊,我们这一般来讲贱名之意,我就这一个项目,好,下边我就启动我们的I idea,那我看这个ID。
08:05
来启动我们这个idea,看看在哪呢?就这个是吧,来启动它就行啊。嗯,看看这个。可以2018的也行,这个也行。对,这个看看啊。好,这是你们以前的代码,应该那以前的代码,我就我我们就在这创建一个项目就行了,创建我们自己的项目,那创建项目这个是么?Fair new是吧,这个project这是项目,下边这是工程,叫Mo,叫工程。工程翻译成中文叫模块,叫模块化编程就以后就是这是我们的发展趋势是并不是把所有的代码都写了一个工程的,就写了多个功能,不同的功能放在不同的这个代码里,这个模块里知好下面我们创建这个project啊,然后呢,这个地方创建project,我说它将来什一个项目就对应一个project,它下边可以有很多工程或者叫很多模块,知道吗?它对它主要是是么组织所有的模块。
09:23
一般我们不直接在他里边写代码啊,因为在他里边写代码的话,那大家都混在一起码啊,当然他里边也可以写代码,知道吗?啊,所以一般来讲我们也不会在里边写代码,我们在下边Mo里边写写代码啊,所以他只是为了要组织所有的模块呢,不在里边写代码,那我就压根什么就不写了,我就创建一个什么对空的项目,就让就他能组织一下就行了,这一个空的项目就行了,然后呢点下一步,然后呢,这个地方起个项目的名字啊,这个名字再给它起一个,那我们这个地方刚才起好了就叫,然后呢叫project,对,然后呢,下边这个表示你的代码放到哪个磁盘目录去吧,是不是这样的,那我们这个地方来拷贝套,让他找我们一个地方就行,找我们这个代码放到哪,你看看就放到哪个地方呢看看。
10:14
对,18那就放到这儿下边吧,对,这个地方创建一个目录吧,这个目录专门放代码的,我就放到这里边了,行了,这以后我就放到这下边吧,然后呢,这个地方我就选中它,找到它18下边Q的好,放到它下边,然后呢,把这个什么在这个目录下边再给我创建一个目录,然后呢,就放我这个代码了,知道吧,好,那以后我们可能在这里边还创建别的项目呢,在在这个客户的下边。那这是一个项目,CRM项目,好,然后呢,点finish大家完成就行了,知道吧,他说这个目录不存在,你道吧,是不是要创建,点OK让他给我创建就行了,然后把这个地方点OK给我创建,创建我就在当前这个窗口都打开了,就叫list打开它就行了。好,然后呢,大家看这样的话,他给我创建好,创建好之后再让他这个欢迎界面上面,它这个地方让你给他设置一下,看看什么JDK什么之类的,设置好就行了啊,当然你不在这个地方设置也行,你在这个地方创建好之后,点OK之后在这里边设置也行啊,在这里边设置,那我这个地方假如大概这样的话,我就创建好了啊,创建好这个项目,创建好项目你可以设置它这个什么JDK,可以设置JDK这个地方,对这个地方设置JDK吧。
11:31
嗯,好设置JDK啊,以后创建工创建好工程设置JDK也行啊都行知道吗?你比如来我们这个地方来设置这个地方在哪设置在这个地方,这样project在这个地方设置。然后呢,设置这个地方找到我那个,你电脑只要装好JDK配置好了,它会自动给你找到去找就选中它就行了,咱们这个地方好像你们以前装的是不是1.8了,对一点,那我们就是1.8的了,知道吧,当然是现在企业里边用的最多的也是1.8的,知道吧,那当然它最新的可能到很有很多新的版本。
12:09
对,那我们基本上开发的时候一般不会用最新的啊,因为最新的他没有经过实践的检验,推出一个新版本得过几年才能什么才能稳定下来,大家才会用啊,所以我们就用1.8,那1.8下边这个东西也选出1.8这样去了。然后呢,别的这些呢,都保持默认就行了,不用管了,然后呢,点这个点应用是吧,点应用点OK,这样的话JK就射着了。好,这是我们这那JG设不好了,那我们说大家这个项目我们就创建好了,创建好之后你看左边啥也没有,我写代码,我不能直接在空项目里边写代码,我写代码得创建工程,工程就是那个Mo知吗?所以下边我们来创建工程,创建工程知道吗?这个,那创建工程就在这个项目下边,你有哪些模块,你可以想分成哪个模块,你可以创建几个工程,然后将来这些工程都打成一个项目里边就可以直接部署了,那我们这个地先创建一个模块,这个模块我们就叫CRM了,以后把我CRM核心功能都放到这个工程里边开发,知道吧?所以下边我创建工程,那创建工程怎么创建?这个六一个叫什么?
13:21
Model是吧,然后呢,好,那创建工程,将来我要在里边写代码,那写代码能写代码的这些工程有这么多的工程,知道吧,你看其中大家看这是什么,普通的Java工程,对这一个什么对企业用的叫普通的外部工程,明白吧,然后呢,大家看这是我们以后下一个阶段会学到spring boot工程,知道吧,然后呢,大家这还有别的工程,还有安卓工程啊,它不一定只是做Java外部开发的,还有可能是别的工程,包括大看像这些,像这些工程都是别的开发语言。其实Java不但支持就不是idea,不但能开发Java程序,还它还支持很多别的语言的开发的,就我前面给大家说的那些什么像PHP啊等等这些他都支持,都可以这么用这个idea开放。
14:09
所以你在看到别的语言的那些程序啊,用idea的你也不要很惊讶,是因为你们怎么也用idea,这是很正常的,Idea他支持很多这种开发语言,当然咱们都是用加,都用它开发加va了,知道知道吗?你要如果普通的加工你就创新套,普通的外工人你就创新套。知道吧,当然我们说这些工程我们开发一般不会用它,为什么?因为它用的像一些加包,包括一些项目的构建都得我们手动添加,加包手动构建比较麻烦,所以我们以后为了省事都用什么对微问工程是吧,创建微问工程,像一些加班以后什么对程序的编译运行等等,这些都用什么让微VI帮我们完成,所以比较简单,所以我们以后开发的基本上都是用微VI啊,用微VI这种功能。好,这时候我们说没工程,我们说它也可以什么有两种版本,一个是普通的没版的Java工程,一个是外部工程,那我们这个地方开发是创建妹妹版的外部工程,还是普通的加还是普通加务工程,对吧?外部对,因为我们做外部开发,既有前台又有后台,那肯定外部工程,那外部工程就要嵌扯到we部工程的目录结构,像什么一个工程名字,下边又有web infer web infer有lab class,然后呢,下边又有web部,点X8又有什么一些页面之类的这些,那么那个目录结构,按理说你要创建外部工程,你得自己写那个目录结构。
15:34
那自己写的话,那比较麻烦了,所以一般来讲都是什么创建没有工程用模板知道,对他用模板你一创建是自动给你加入知道吧,所以那你要什么要我们这个地方可以选模板,选中这个模板,然后呢,找一个模板那种微V版呢,外部工程那个模板是谁呢?对外部P是不是这个对就这个选中它就行了,然后呢,点下一步,当然上面这个JDK,你只要刚才配置好了,都是用你刚才配置了啊,然后呢,这地方点下一步,那既然是微工程,最重要的就是微的坐标是吧,对main坐标一个是格group ID group ID咋写。
16:12
对域名倒过来写是吧,然后下边可让应用的名字为啥用域名倒过来写啊。对,你想啊,将来你开发外部工程,可能打成夹包,或者打成挖包,让别人去调,那别人怎么调呢?你打成夹包之后,你得放到仓库里边是吧?放到仓库里边,别人一引用你这个什么坐标,诶,那他就能够拿到你的夹包了,你知道吧,那这个时候就有问题了,有啥问题,你开发一个夹包放到仓库里边了,别人如果也开发一个加包也放到里边了。那大家的这种什么,假如你俩的坐标正好起一样了,那别人用的时候用谁的。不知道,对,所以这个坐标不能重,知道每一个什么公司开发的每一个项目,这个坐标都要是唯一的,知道吧,那唯一的话,这个格入ID,那么这个取得数,那怎么才能避免唯一呢?
17:14
对,那就是嘛,不同公司开发的项目是吧。那你起名字,你要说我随便起,那有可能重复,你要说我这个地方随便起是吧,你看你看我这个地方,如果随便大家看,那有可能重复,你说老我我老师我起长一点,起长一点从理论上来讲也有重复的几率,你知道吗?那用域名咋办呢?因为域名为啥不能重复呢?对域名在全世界范围之内都是唯一的,知吧,所以倒过来写,永远不会重复,就公司和公司之间开发的这些项目永远不会重复,知道吧,这是,那你说老师万一我都是北京power note开发的一个项目。那大家的域名这个项目组开发一个项目,另一个项目组也开发一个项目,那大家都是北京power not的这个域名,那是岂不是也重复了,咋办呢?对,所以后面加上项目名字,项目名字不一样,即使是一个同公司开发的,是不是也不能同步了,知道吧,这时我们说这那假如说一个项目也一样了,一个项目有多个模块,大家怎么打包之后也都让别人调模块,有可能也重复了呢?
18:17
就同一个项目有多个模块起名,模块起名起重了咋办呢?所以下边这个地方就是这个模块的名字啊,模块的名字也别让它重起一个模块的名就行了,那起模块名,这个模块名那叫什么?对,这个一般就是你知每一个模块的名字,那我们这个地方假如说我也叫这个CRM了,因为咱们这CR比较简单,就一个模块。啊,如果以后你做其他的工程的其他项目开发,有可能多个模块,那这个什么,这个叫CRM,那下边还有什么CRM,假如我做一个模块叫什么,专门持久层的模块叫刀。或者叫map,还有我再做一个模块CRM service或者CRM controller,知道吧,你们下一个项目就这么来做,知道吗?
19:01
下一个项目就是一个项目里边可以有多个模块,那多个模块的,这是这个模块就不一样了,咱们这个比较简单,就一个模块,我就叫CRM了,知道吗?好,这是我们知道,当然我们下一个项目什么,我们做互联网项目的时候,比较复杂的时候,到时候再说,大家知道有这么回事就行了,嗯,好,下边大家这个什么,这个版本号我们就是什么,现在开发的时候就是快照版本叫snake short工1.0,我就什么保持默认就行了啊,这时候我们说当你说以后老是公司这边是不是知道了,公司这有自己的命名规则啊,这都是项目经理在做的事啊,不用管了,他不管叫啥,他不管叫啥八本号不影响我开发啊,我们不用管他了,然后呢,这样看这个坐标七号坐标旗号点下一步,然后呢,我们既然用微之中啊创建妹问项目,将来就要让妹帮我管理我的架包,然后呢帮我编译和运行我的项目了,那这时候用哪个妹妹。你给他指定微,你电脑只要装了微VI了,配置好环境面料之后,它会自动去找,去咱们这个微VI就是这个了,我就这个了,然后呢,大看这个是最重要的一个妹的一个配置文件啊,一些什么仓库在哪儿用哪个仓库都在这边配置,我这个我就不多说了,这个东我们它自动去找了,找了之后这么保证默认就行了,别的都不用管了,然后呢点下一步那就行了,然后呢,大家看这样就行了,然后呢,大家看这个地方,他告诉你一个什么,刚根据你刚才选的告诉你创建的这个选择的这一个要创建这个项目的一些基本信息了。
20:28
这个什么模块的名字是他将来这个模块的代码放到哪了,就放到咱们这个指定这个磁盘目录里边,然后呢,就放到这边保持默认就行了,然后呢,点分的时代啊,就创建好了。知道了吗?大家看这些都创建好了,看吧,这些好,这个build success,这样的话,我这个工程就创建好。好,这是我们这子。这样我就重要,大概他这个妹妹这个外部,外部工程的目录结构就这样吗。
21:02
这时我们这样好,这样我创建这个项目,这个工程的名字我就叫他了,那创建好之后大家看,虽然用了模板啊,其实idea那个模板,那个外部APP那个模板,其实其实他那模板不完整,它是比较老了,你看那个妹妹版的。外部的,外部工程的目录结构,它并不全,你看。对他少了什么呢?对Java resource,这个may下边是主程序的,是不是还有测试程序呢?对测试程序啊,也有Java resource,它都没有,你看吗?没有怎么自动补全就自动补全,然后呢,这个种补全,那么嗯,对补全目录结构啊,目录结构知那给它加上这些目录就行,哪一个地方首先这个地方再看,对这个地方先这个主持这个src下边都是源程序,远程下方面主程序,主程序may may下边有什么?对有Java去操作,那我给他加上就行,在这创建目录就行了啊创建右键在may一下创建右键,这是Java成都放到这里还有什么呢。
22:09
对,Resource resources啊啊这个resource复数啊,啊resource多写了个C,那么就这样,这是我们这样,然后呢,在src下边这是主程序,是不是还有测试程序啊对,测试程序在这种叫个测试程序,测试程序下边也有Java程序。也有放配置文件的,Resource这个地方给他补全。好,这是我们这样,当然我们说这些什么目录是不是都有类型的类型了,那什么,那给他设置类型就行了,怎么设置类型,对对在这个地方也行,右键,然后呢,上面有一个叫什么来着,对对,这个mark directoratory,这是主程序,主程序中的Java程序,还有主程序对resources主程序的配置文件。
23:10
然后呢,还有这个对T里边这是测试的Java程序,这个对测试的配置文件就这。这样就行了,这样的话,当然这个目录结构我们就添加好了,这是补全它这个目录结构就这样啊好,这样的话,完整的这个工程创建,创建好之后呢,那就往里边添加,该添加的内容都添加了啊,然后这地方来添加,然后呢,添加往这个工程里边,该以后编程的时候需要用到的加包配置文件还有等等这些东西页面该加进来就加进来了,首先添加加包吧,加包大家看这个地方给大家前面给大家说这个,给大家说这个什吧,软件开发生命周期这给大家列出来了,都是加这些内容吧,首先添加加包呗,那添加加包,那这个地方我们说那我们都是用微问工程了,不用自己找加包了,是不是只需要把依赖加上就行了,对,只需要把依赖加,那我们这个段就是添加依赖,添加依赖知道,那说这些依赖到底有哪些依赖呢。
24:17
谁来决定对用到哪些,对用到哪些有哪些是吧,那我怎么知道用到哪些,对项目经理来做,其实大家看就看你前面用什么技术了,是吧,那用什么技术技术选用什么技术,那用什么技术,咱们第一天给大家讲的时候那个什么。CRM的项目的技术是吧?叫那个什么技术架构是吧?那四层都用到什么技术,把那些相关的依赖加进来就行了,知道吧,那你说那些依赖我怎么知道那些技术有哪些依赖,对你学的时候你已经老师都已经告诉你了是吧?或者你研究的时候文档上都有了是吧?那你老师那些依赖有很多我需要背吗?这不需要背,你也背不下来知道吗?你妈正常人都背不下来,那你想想,你想想那么多的依赖谁能背下来啊,就正常人都背完,那背不下来,我我要用的时候咋办?对文档上都有,直接到文档上考就行了是吧?对文档上再考,对正常人真背不下来知道吗?就那些超人他都背下来是吧?超人他都背下知背下不需要背知吗?文脑上都有是吗?他官网上都有,但是你学的时候老师也都给他看官网,官网上都有教你了啊,那你说老师万一官网上没有懂吗?你想一想,他做一个技术就让别人去用的,他不告诉你咋用。
25:41
谁会用啊,他做这个技术他也没意义了,是吧?啊,他专门让别人用,他一定有文档啊,是吧?啊所以这些文档你我老师我是不是到官网上找,如果你有些技术你没有,那你就得在官网上去找,那像这常用的这些技术,不用到官网去找,我们都已经有了,哪个地方在这在都在这,我们这个项目看这个文档啊,我们这个文档啊给您了。
26:04
在文档上边,咱们基于咱们那个框架那些技术的那些这个。那些依赖都在这个地方呢?都在这个地方添加第一了,都在这儿呢,咱们这个CM用到用的这记录全给大家列好了,你也不需要备,直接拿去用就行了,万一到公司这边,你们公司也是用SSM技术架构,你可以直接拿回去用,那我这个地方我就直接考,我也不备是吧,然后呢,这个地方那加进来吧,这些都加进来啊,一个一个加吧,这也有很多。首先这是MYSQ的驱动,那我们要访问数据库,肯定得通过数据库驱动,那数据驱动MYSQ数据库,那就把这个数据把SQ数据库加进来就了,在这个加进来就是MYSQ的属于无驱动,知道吧,这样。然后呢,这个地方啊,直接自动导入吧,这是买骚的驱动,还有什么,还有看看还有什么JDBCJDBC连接池的驱动,对连接池为啥又连接池,连接池大家以前听过吗。
27:03
听过对听过是吧,听过就是什么,就我们以后访问数据库,不用每次什么都建立数据库连接了,是不这样的,对他保持几个连接是吧?啊谁保存几个连接,有些程序保存这程序谁写的,有一些专门开发连接池的那些人写的这些程序。它逐击一启动,保存几个连接,连接到连接池里边,什么连接池,其实说白了就是什么?就是保存一个list到里边,或者保存一个集合里边,创建几个connect耐对象保存里边用的时候直接到这边去拿就行了,知道吧,当然这么他们创建的时候,服务器启动他们得创建,创建的话怎么创建,他们得写代码创建,那你得把他的代码拿过来。那我说这连接池有哪些联接池?嗯,对,有好多连接时,就是以前用的比较火的就这俩。就前几年用的比较火,C3P0DBCP连接池,这都是常用的连接池,当然现在上最火的是谁啊,就是这个对阿里巴巴德鲁伊连接池。
28:03
对,把它拿过来就行了,然后呢,你用它就可以了。对,除了这,除了这个下边还有这个买巴,那你要用MY巴,肯定把my body的依赖拿过来,那我们这个地方就直接拿了啊买巴死的依了,还有什么呢?你看看还有什么大看还有你要用spring来整合相关的这些框架了。对,你得把spring的依赖拿过来,所以我们这个地方把spring的依赖对吧,你说老师你用的这些版本,这些版本你不能随便用,因为有的时候这些技术太多了,版本和版本之间有兼容性的问题,我们这个地方都已经给大家调好的,所以你直接用这个就行了,你要乱说我换版本行了,换版有可能行,也有可能不行。啊,不兼容那你就不行了,兼容知道吧,兼容你就可以用知道吧,所以大家不要随便的换版本知道吗。好,这是我们这个地方继续了大纲,还有那我们前面给大家说了,我们我们的事物要交给spring来管理,那spring要用a op来管理我们的事物,所以把a op的依赖拿过来啊,啊,然后呢,继续来干嘛,那我们要让spring去整合my body,那要把spring整合MY81赖拿过来,这都是大家前面用过的这一赖,还有谁蛋纲,还有s spring我说话,它将来要编译我们的这个整个外部工程。
29:25
但是他编译的时候,他得解析那些JSP标签,他得解析A什么相关的we的那些这个那些那些类知吧,解析的时候他得拿到对JSP和service的一些支持,得把那些加班拿过来,那我们得把JSP和service这些依赖拿过来,包括JSTL都在这里边拿。好,这是我们阵容,然后呢,大家我们继续拉,看看后边还有那吗?后边还有这是杰克逊插件,拿过来这个插件干什么知道吗?对,生成杰森字符串是吧?这是给spring m Mac用的是吧?Spring Mac将来要返回杰森字符串,我们只需要把数据放到Java对象里边,1RETURN,它会自动转成。
30:13
那它为什么,它怎么自动转成接,就调这个插件叫spring I VC调,它原来生成把Java对象转成接字串知你要不加他的话,将来spring返回杰森自串返回不了,知道吗。这时我们这样还有这个POI,这个POI呢,我们后边会用到在哪个地方用到,在这个地方用到知道吧,以后我们说了这个地方,将来我们一点这个导出会上后后台数据库发个请求,后台数据库干什么,把市场活动这个表里边所有数据都查出来,查出来干什么?生成一个Excel文件,然后弹出来一个另存为,让这个Excel文件下载到用户自己电脑上。他就能拿到我们的系统里边数据了,下载这个什么,就是操作Excel文件的这种办公文档的这些插件,这是一个插件,知道吗?用Java操作办公文档叫什么?像Excel啊,Word呀,PDF啊这些文件,Java能够操作它们能生成版们,并且能把能从里边把数据取出来,用这个插件来取,诶那你说操作文件不是这个Java操作文件,Java操作文件不是用IO吗?IO只能操作没有格式的文件。
31:27
像IO只能操作文本文件等等这些,他想操作Excel文件、word文件或者幻灯片等等,Java操作不了,Java只能用这种技术。好,这个我们到后边用的时候再给大家说,就是为了操作办公文档加入,还有这个叫fire upload file upload,这是什么在呢?将来我们会进行文件上传,要把用户自己电脑上设计了一些Excel文件等等,这些上传到服务器上面。就文做文件上传的,到后边用的时候再说做文件上传必须得用它,知道吗?好,这事我们说到这样,还有logo破节,那我们说将来不管是我们自己要输这些日志也好,还是我们将来用什么SSM这种框架,他们也会输这些操作日志,哪是要输入操作日志都得用logo附近啊这种依赖。
32:17
就这种插件来输入这种日志,好这样的话再看我们这个地方,关于这种依赖我们就加完了,好像是少了一个MVC是吧,这里边有VC吗。看看啊啊对,就这个地方,这有叫怎么对这些好,这样的话来看,我们这些依赖都加进来了,看这依赖这些也不用背,你只要保存一份,基于一种技术架构的保存一份就行了。啊,当然后边大家还会学一些互联网那种什么什么那些依赖又得换依赖了,知道吧,你只说记两套,这两套就行了,知道吧,那你说老师以后这两套万一以后再去要我工作以后再去要出现新的技术,怎么那新的技术你自己再更新这一了。
33:06
反正总之吧,最流行的这些技术的依赖你必须很清楚,你也不用背,保存一份就行了,就我们这个现在目前来讲,比较流行的这些技术的话,做传统的项目基本上就这个就就就这些技术了,你保存一份以后到公厕所可以直接用好,这时候我们说的这个关于这些依赖我们就加就添加好了,这个地方可以这个地方添加依赖,那这个地方可以参考我们的,那参考我们的特效特效,那然后呢,添加好依赖了,那下边还有一些配置文件,还有一些这个什么页面,还有一些工具类都加进来,就可以什么启动服务来进行测试了,知道吗?当我们今天今天这个时间不够了,我们明天接着给大家做这个。
34:03
好当我们还是来做我们这个,继续来看我们这个CRM项目是吧,昨天我们做到搭建开发环境了是吧,那搭建开发环境的话就是这样说,一开始校目经理搭建一份,在他电脑上搭建一份知,搭建完了之后呢,然后呢,把这个搭建完了之后,把这一个这个通过软件知吧,像后来我们给大家讲一个叫版本控制工具这种软件讲GI或者SVN这种软件可以传到服务器上边。然后传到服务器上边,那大家是吧,程序员都从服务器上也都是装这个软件,在自己电脑从服务器上去下载去知道吗?那这个搭建开发环境,我说在公司里边啊,差不多我们说都是啊在公司里边这个。在公司这边差不多都是,就基本上都是项目经理搭建知啊,我们不搭建知这,但是一般来讲,在这些技术呢,我们都都已经学过了,都是会的这些技术,那我们说对于我们而言的话,虽然不让在公司这边不让你搭建,但是有些情况下可能也会一个小项目,假如就让你来做啊,或者你开发一两年之后,你你当组长了,或者你做一些这个,你手下有一些程这这个呃,程序员了,那这个时候要做一个小项目,你也得搭建,你也得会搭建,再一个他有时候搭建的时候呢,他可能搭建的时候就一些基础,基础啊,就一些基础技术,像SSM啊这些框架,诶该加的这个JA包啊,配置文件它都加上了,但是后边么,又一些新加的做一为了做某些特殊的功能,新加的一些技术,他当时搭建的时候没给你,没给你把这些技术这个融这个什么,这个集成进里边去,那这个时候你得什么。
35:50
你开发这个功能,你用到这个技术,你得把这个技术加里边儿去,所以总之吧,这个搭建开发环境呢,那对我们来讲,大家也都要会,每一位同学都要会,那我们说不同的技术采用不同的技术架构,搭建开发环境的这个步骤,这个这个所需要加的这些什么加班啊,一些公共的这些配置文件啊等等这些资源是不一样的,知道吧。
36:15
那我们一般来讲,就我们学的这些这两套技术,一个是关于传开发传统项目的这种技术架构,将基于SSM的这种框架型的这个技术,这些什么技术架构,那大家会搭建这个这个这个开发环境,那等到我们下一个项目老师,我给大家讲完一些互联网技术之后,基于互联网技术的这些什么这个技术架构,搭建开发环境你也要会,你要会就我们在目前来讲,大家大家会这两种这种技术架构就行了,搭建开发环境的这个技术架构知道吧,好,这是我们这,那我们这个还是继续来给大家搭建我们这个关于这个我们这个呃,CRM项目的这个技术架构,它是基于专统咱们这个传统的这种企业级应用开发的这种技术架构啊,啊,像这种这种项目啊,我们采用的就是传统的这些技术,像SSM这些这个框架型的这些项目,然后后边我们还会讲互联网技术,到时候我们再说,好,下边我们还是继续。
37:15
来搭建我们这个,那搭建我们这个呢,我们这个上次做到哪儿了,我们看啊看啊,上次我们已经做到这儿来了啊做到这我们这个把这个状况考过来,然后呢,写到今天这个里边去,然后呢,这这是我们还是继续来做这个搭建开发环境,知道吧,我们昨天已经创建好项目,创建好工程了,知道吧。这是我们这样,然后呢,创建好了之后呢,昨建好了有个地方咱们忘了,忘了设置了哪个地方呢,这创建好项目,创建工程之后呢,我们前面只是设了JDK了,那这个地方还得设置一个编码格式,编码格式呃,因为大家我们说我们整个开发环境都是基于这种UTF杠八的这种变化格式,就所有的开发环境,包括你这项目这些工程将来在里边写的所有的语言符号全部都是用UTF杠八这种格式来进行。
38:12
这个编写和保存,那将来我们数据库里边也都用u ti广告的,那这个时候程序里边和数据库里边全部都是用u ti广告,那将来我们写页面也是UI港包,那么这个时候呢,就前台到后台到数据库编码都是统一的,那这个时候大家永远不会出现乱码,但你要说这个什么编码格式,如果你要不统一的话,假如数据库中用一种程序用一种,页面用一种,那这个时候很容易出现中文的乱码,你知道吗?所以大家我们这个地方给大家强调什么,做完这个创建完项目,创建好工程之后,还得设置编码格式,设置编码格式。设置编码格式,就这那我们统一都设成UTF杠八的,就这好在哪设置,在这个地方,大家以前学这种idea的时候,老师教给大家在哪设置,大家还记得吗?对,在电脑里边对,然后呢,在哪对这里边有一个是吧,对有一个对在哪呢,这个对这个是吧,看吧,他这个呢,默认的大看这些的吧,默认的GBK的,就是你写那个代码的编码格式知吧知默认GBK,为什么JBK它默认就是ID,它是比较智能,它是取拟操作系统的编码格式,知道吗?然我们这些操作系统一般都是简体中文的,简体中文的编码格式都是GDK的,知道。
39:40
所那我们这个地方我们该改一下,就改成这个UTL杠八的,那么将来你在程序里边写的所有的语言符号,在存储到计算机那个磁盘或者内存当中的时候,全部都是用u tai广告这种格式是吧,好然后呢,大看这个地方也是这样,这个地方也给该改成UI广告的,然后下边这个一要一定要给他选上,不选上以后写着吧,写这个对写配置文件,这种pro文件的时候,有的时候什么它那种这个中文的话,它会采用那种这个unicq的编码,就是你看不懂就是写中文你看不懂它就是他用那种编码来这个显示知道吧,啊所以你要选了它中文就是中文知道吧,你看到知道吧,好,这时候我们这这样都给它选上就行了,选了之后呢,点这个点这个应用是吧,点应用点OK大哥,这样我们就睡着了啊。
40:32
好,这时候我们这样好,这样的话,我们这个创建项目,创建工程,那这个地方我们都创建好了,创建好之后呢,下边什么该加的这些什么,我们以后开发的时候用到一些加包都给它加进来,那我们这个地方基于women的这个工程,那我们全部都添加什么依赖就行了,添加哪些依赖我们给大家说了不用背,知道吧,你采用什么技术,每一种技术官方文档上我都告诉你,他需要添加哪些依赖,知道吧。
41:02
啊,当我们这个地方,我们把我们所采用的技术,所用的依赖,我们都给大家什么总结出来了,在我们文档上边,到时候大家直接查看就行了,包括你到以后工作过程当中,做开发的时候,也可以直接拷过去,那么好,这时候我们这个地方添加这个加包,我们就给他说到这啊这样那下边的话我们继续来搭建开发环境,下边我们说那有加班了还不行,有些技术得需要一些配置文件,所以下边我们来添加配置文件,添加配置文件是吧,那这些配置文件就是加进来。那添加配置文件的话,那基于我们这些目前这种SSM的这种技术架构的呢?添加配置文件有哪些配置文件对spring spring还有MY8是不是对这些基本上现在目前来讲,我们用的配种件主要是这配重件知道吧,那以后还有别的配置上,我们以后用到再说,主要是先把这些基础的配置文件加进来就行了,那加进来这些配置文件也有很多,而且每一个配置文件里边有很多标签,标签里边还有子标签和属性,那我们说这些配置文件需要备吗?
42:09
对,也不需要背,也不需要背,官方文档上都有专门教你怎么用的,甚至都有一些例子,你知道吧?啊,包括大家以后以这个以前真正学这些技术的时候,老师都给他看过那些官方文档是吧,他官方文档上面全部都写的特别详细是吧,你不用背,你背然你说你要背不会了是吧,而且你背会,你背会了也没用,主要是也没用,你并不是天天配置这个配置文件,你天天写的是Java代码,不是写配置文件的是吧?啊而且你背会了,当然你道今天背会了,然后呢,过几天不用,因为这个东西他不是天天写,过几天不用,你又忘了,你知道,所以也没有必要背,你背会了也没用,它不是天天在写的,所以这些都是从官方文档拿下来,拿下来一个什么,一个这个一个这个文,这个他这个文档的一个一个范式知道吗?它有个规范知道吗?然后呢,根据自己的这个一些配置参数,改一改配置参数就行了,知道吗?好,所以说呢,我们说这些配置文件都。
43:09
不用都不用,这个都不用自己备知道,然有呢,在哪呢,那个我们这个地方所采用的这些技术架构的这些配容量,全部都给它列过来了,全部都在这个地方大写了相关的这配置容件,就是就是大家前面阶段老师给大家讲的那些这个各个技术的那配置文件,首先我们用持九头用买body,那就my body核心配置件知道吧。然后呢,它这个核心配置文件,这是这个文件名,这个文件名叫什么无所谓了,但一般来讲大家习惯就叫my body知道吗?就是my body配置文件,肯菲就配置的意思知道吗?然后呢,我们再把直接直接建一个这么一个文件,然后呢,把里边内容拷进去就行了,那这是一个范式,这是一个范式,你直接考进去以后,需要有一些参数,改一改参数就行了,知道吧。好,这是我们这样,然后呢,大家看我们这个,那我就创建这配置文件了,在我这个工程里边创建配置文件,那创建的话,大概我们这个地方来,我们所有的配置文件是不是都放在resources这个目录下边,对,这是专门放主程序的所用的配置文件了,那在这右键创建配置创建文件就行了,那创建文件的话哪一个。
44:20
对,File创建目录的时候,就用了一个叫directory,叫路径目录的意思,File是文件,那么创建文件,然后呢,一点它把这个名字拷贝到这,这样行了,然后呢点OK,带上这个配置文件创建好了,创建好之后里边内容你也不用背,你说官方文档上给你写的特别详细,我们就直接把它拷过来就行,Ctrl a ctrl c,然后呢贴到这就行了,这样的话我们就可以了。那我们说,虽然说大家这些配置文件不不需要你背,但是你看到这些配置文件里边这些标签的时候,你得知道这些标签是干什么的。
45:01
对,你得知道干什么的,你要如果不知道干什么,那以后你改参数你也不知道改哪,所以大家我们要求大家这些参数不是让大家背的,但是你看到之后每一个标签是干什么的,你必须知道,每一位同学都必须知道,那我们前面老师给大家讲这些课程的时候,最重要内容就是讲这些东西了。我说这框架最主要的一个是配置文件,那每一个标签是干什么,你必须知道,那这些呢?这是干什么的?对,打印日志它除了什么?这个settings叫配置是吧?它里边可以配置很多参数,这些参数是表示在my body运行过程中所需要参考的一些参数。就我们可以通过这些参数控制my body的运行的一些行为,知道吗?这些参数,那这个是比如打印日志的这个参数,还有一些别的参数,不知道大家还记得别的参数吗?别的还记得吗?
46:00
对,我记得看看前面的笔记,翻一翻是这些参数,当然那些参数咱们没用到,咱们没用到,但是你笔记上肯定有的是吧,你可以有时间翻一翻那些笔记,现在我们没用到,以后做更复杂的项目的时候,有可能会用到知道,所以到时候你看一看知道吧。好,这是我们说的,这还有这是干什么的,对起别名的是吗?起别名的这些,然后这这是干什么的,对指向那些什么map所在的那包所在的包入径是吧?对将来基于什么这种动态代理的这种map,是不是将来它遇什么自动生成动态代理的map类啊对这样就行了,好,这是我们说的,当然这个什么配置文件里不止这些参数,还有别的参数呢,当然我们前面学的,翻一翻前面笔记,咱这个地方我就认为你都已经会了,我就不给大家讲了,知道吧,这些因为咱们没有这么多时间,咱们主要做项目的知道吧,这些技术咱们前面已经学过了,前面几个月我们就直接用了,知道吗?啊,但是你要如果不熟悉的地方,那你就往前面翻一翻笔记,翻一翻前面代码,看,甚至看一看前面视频知道吧,就我们这个阶段,前面跟大家说了,我们一个很重要的教学目的就是通过这一块的,通过这个项目。
47:18
来对前面的技术进行一个回顾,一个熟练,一个加深的这么一个过程。啊,所以大家遇到一些不熟悉的技术,大家往前面翻译,你以前学的呢,还基本上都会用到,知道吧?好,这是买8S的,它这个配置文件我们就给他说到这儿知道吗?这是买八的配置文件,下边还有别的配置文件的哈,还有这个。配置数据库连接以及事物的这些配置文件,这个机制就是my body,就是spring集成my body的这个配置文件,你知道吧,然后我们说它是整合map层,然后呢,Service层和controller层的,知道吧,其中这个地方它就是让去整合my body,知道它怎么整合买8S,买8S是持久层,他用来访问数据库的,那他访问哪个数据库,那些数据库的信息都要告诉我,告诉买8S。
48:07
呃,然后呢,Spring去集成买巴的子,那我说那这些数据库的信息都得告诉spring,让spring什么集成买巴的,让spring什么操作买巴子去访问数据库,它来集成的,然后在这里边就会配置不的这个什么要集成买巴子访问数据库,一些数据库的信息,包括一些什么事物的一些信息,这些都在这个配置文件里边配置,当然这个配置文件我就不详细的说了,因为咱们前面肯定写也写过这个配置文件。好,这个配置呢,我就直接创建了这个地方,然后呢拷贝,然后呢,放到我们这个地方,这个地方来右键,然后呢,这个地方创建一个文件,然后呢这个文件名啊,然后呢,这个文件内容也不用背,那你说这些这些东内容谁能背下来。这些不需要背,这些官方文档上都有的,然后呢,我们这个地方来ctrl a ctrl c,然后呢,Ctrl a这样就行了。
49:03
那我们说这个配置文件虽然不让你背,但是你看到相应的标签之后,你要知道他们是干什么的,那将来你才能什么根据自己的实际的一些参数来改下面的些一些参数知道好,下面我们一块简单来看一下这标志的这个标是干什么的,对配置数据源的他什么spring要集成买八对手,他来控制事物,那他控制事物他怎么控制,他控制数据库的事物,那肯定是吧,他要想让spring来控制数据库的事物,那以后必须让spring去连接数据库。叫必须通用,让spring去管理数据库,那管理数据库,管理哪个数据库,把数据库的信息告诉他,怎么告诉他,就通过这个标签告诉他叫数据源,这个标签告诉他将来spring在集成买body的时候有spring,他怎么操作买body的去连接数据库,那他问他连接有什么好处,物,他连接时候它就可以控制事物,怎么控制事物,刚一连接的时候,该执行测主要开启事物,然后呢,执行测主机,执行完了之后关闭事误知道吗?那这个时候的么,只要是不管是让谁控制事物。
50:13
谁控制事物,要把数据,要把数据源的信息告诉给谁。现在我们让什么人去控制事物了?然后集成买报的,他来控制事物,那我们把数据库信息告诉给spring,那告诉他spring,那得把数据库的哪些信息告诉他,这是什么驱动的名字是吧?驱动名字你让他连接数据库,让他,他肯定也是通过驱动来连接的,用哪个驱动?对,用这个驱动叫my body这个MY的驱动,然后呢,再一个你要让他连接数据库,用哪个账号连啊。Root账号,然后呢,让他连数据库的时候,用哪个密码连对,然后呢,这个root我们现在基本上都是用root,然后呢,密码是不是你那个数据库的密码啊,就你装那个MYSQL的时候,你那个密码。
51:03
那我们这个大概我们这个教室机上这个密码叫什么,是多少来着。是不是123456 12345啊,123456,那我们这个地方就扔了对就扔了对,呃,那你们在课下,你自己在你自己电脑上搭建开发环境的时候,那你用你自己的密码,对用这个密码,然后呢,大家下边是你要让他连接数据库,连接哪一个数据库,这是智数据库的URL。对,那数据库的URL,再看前面是协议,就不管连接什么,不管是连接什么,你连接服务器用HTTP协议,连接数据库用数据库协议。这是叫my circle的数据库协议,这个地方是固定的,必须这么写的。然后然后呢,再看下边这个地方是不是MYSQ数据库所在那些服务器的IP地址啊,IP地址,那这个地方再看我们说那我们这个什么这个模板上面这个IP地址显示不对的是吧,那我们这个地方要连哪一个,哪一台机上能买操钩,对我自己电脑本机上的是吧,用local hosts也型,当然我们推荐的用这个,对,这才是真正的IP是吧,其实那local hosts严格来讲它不是IP,它是IP等本机IP的一个映射,知道吧。
52:19
啊,Local host,其实local host就代表它是吧,所以大家我们用它这是一个真,这是一个什么,就是。这个这是一个合法的IP地址,其实严格来讲local hosts不是一个合法的IP地址啊,它仅仅是一个IP地址的一个映射,在在hosts文件里边做了一个映射,它就是代表127.000.1,就那个log host啊,但是万一那你说老师写log host也可以,为什么不写了,万一这个什么文件被人改了log后的不代表他了,那可能就连的不是北极了,知道吧,那你说老了以后会改,以后有可能改知道吧,所以大家我们最好用这个,你要连本机的127就0.0.1知道吗?好,然后呢,当然我们没改的话,用log胡则也行,知道吗?好,这个端口号3306,那这个地方买客户默认端口号,所以我们不管了。下边数据库实例,数据库实例,我们这个地方应该连我们昨天创建的个数据库实例叫什么来着,是不是CM2008,对,这是我们昨天创建数据库实例,并且把我们的数据库表都已经导进去了,好,这是我们说的这我们就连这个数连接这个。
53:27
数据库实例知道吧,然后你在你电脑上,你应该连你自己的那个数据库实例道,好,这是我们这后边这些连接数据库的时候,也是使用一个编码格式,我们这个东西用u tai广告,所以大家只要是用这个编这个,只要是采用编码格式的,我们统一都是用u ta广告,那你说这些这些这个参数都是什么含义,当然这些参数你记住它,他们就是说当程序。连接数据库的时候,对数据库里边儿数据操作什么进行操作增删检查的时候,我们在这里边向他发送的所有的信息,以及从这里边查到数据,查到数据,然后呢,从这个数据库里边查到数据,然后查到程序里边全部都以UTF杠八这种编码的方式,再通过网络进行传输的知吧。
54:17
就是说访问数据库,不管写数据还是查数据,通通都是用uta杠况,这样的话永远就不会乱码了,也永远不会乱码了,知道吧,因为什么?因为我们数据库里边本来用u ti杠包,程序里边我们也是设置u ti感包,那中间这个地方,这个环节在中间传输的过程当中也是用U点感包,这个时候就不会装螺了,那你说老师这个状如果不设置U点感包,或者会采生别的,有可能会用别的。我用别的问什方,它这个地方会取你操作系统的编码格式,你的操作系统,我们的操作系统基本上都是简体中文的,那基本上都有都是JBK的,如果你不写,有可的时候乱码了,是这就不一致了,所以呢,我们所有的填的编码格式的全部都有些乱码,所以这样永远不会出现乱码啊,其实到公司的,到公司里边基本上90%以上也全部都是U点。
55:12
咱们当然我们也不排除有一些人专门统一都用GBK的数据库GBK程序GBK在这个地方也用GBK,这样也不会出现乱码。那我这样不会重伤,那这样有什么不好的地方,万一你程序里边用了别的国家的某一个或者某几个语言符号的话,GPK就表示不了了,它就将来会显示一个叉,知道吗?所以这个时候呢,我们说或者显示一个问号知道吗?所以这个时候我们就这个程序就会可能出现乱网了,所以我们统统一都用UC广告知吧,好,这时候我们说的这个数据源我们就配置好了,知道吧,好大家看这是干什么的。对,Circle session相当于什么呢?
56:00
他干什么呢?对,它就相当于一个数据库实例,它就代表一个数据库实例,拿spring拿到它之后就可以操作数据库了,就可以操作数据,它就相当于在spring里边,就相当于一个数据库,知道那他怎么相当数,它相当于哪个数据库,就相当于这个数据库。这个时候你已经把信息放到这个什么database里边了,然后他拿到database,然后呢,他就拿到数据库了,他就相当于数据库。然后他拿到数据库了,那他就可以集成my body的配置文件了,将来通过my body去连这个数据库去,就这其实对于spring底层而言,就把它当做一个数据库啊,就把它当做,它就代表这个数据库了,那你们老上面不就是数据库吗?上面仅仅是数据库的配置信息都配置到这里边了,真正表示数据库的是他知吧,这样的话,Spring拿到这个B之后就拿到数据库了,知吧,他就可以操作my body蒂啊,使用my body的操作,操作数据库,就这个意思,知道吧啊,但是它底层怎么运行的跟我们没有关系,你等到你开发几年之后,你可能会研究买巴的源码,你一研究源码,你就知道它怎么操作数据库了,它就是解析这里边的参数,然后去什么通过JDBC加载驱动创建连接去操作数据库。
57:22
这是我们说这他他这个这个它就相当于数据库是吧,当然对我们而言的话,你就理理解它是一个数据库就行了,好这是我们说这个这是这样,然后呢,大家这是干什么的?对上面已经跟大家说了是吧,就我们基我们开发买八对使用买巴子都是什么,都是它是做持久层代码,持久层主要写map层,那map层我们都是基于什么叫动态代理的map,做动态代理的map,我们只提供map接口,将来。然后呢,以及map接口对应的映射文件,那么将来真正执行map代码的时候,会根据他们会根据什么map接口动态的生成map的动态代理的那些时间类,Map接口的时间类,通过那些时间类去访问数据库,看吧,把这个数据库给他了。
58:11
啊,通过他们会动实现,会自动的生成map这种什么,这些里边这些这个包下边这些接口定义的那些map接口对应的时间类,Map的时间类通过那些时间类去访问数据库去知道吧,那他怎么知道哪些哪些接口,他怎么知道我那个map层的接口在哪,你把你map层的接口所在的包都告诉他,将他去扫描去,你告诉他有哪些包,这些包下边定义那些map接口,它将来运行的时候会给你生成动态的,这种动态的生成这他们的代理类,实验类,实验类,然后通过那些类去访问数据库,就这个意思。啊,当然这都是底层的一些,这个这都是底层的一些这个原理性的东西了,所以大家我们这些大家简单了解一下,简单了解一下你知道这个map scan就是告诉spring我的map接口都在哪些包下边,以及我的map的映射文件都在哪些包下吧,那么将来他会什么动态的去扫描有哪些map接口。
59:16
扫描到之后呢,然后呢,它就生成这些接口的时间类了,然后通过这些时间类去访问数据库,知道吧,它底层到底怎么扫描,怎么生成动态的这种实现类呢?那这个时候是它底层的原理的时候。等然我们开发么,一两年之后,你研究它的源码你就知道了,当现在我们这个阶段叫冲中级的这种成语啊,我们不研究它的源码,但研究源码的话,我们没有这么多时间,所以大家知道它是干什么的就行了啊,所以呢,知道它是干什么,懂了,知道它是干什么,你以后就可以配置这些参数了,那配置什么参数,将来就是把你那些你写的map,那些接口所在的包都配置到这个地方就行了,将来它会扫描了,知道吗?
60:01
那当然这个地方我先写了一个这个写了一个例子,叫这个包下的所有的结果,当然这接口现在我们都没写到,到后边一写代码都写了啊好,这是我们说的这一个类来纲,我们就说到这儿,下边来看这个是干什么的。事务管理器是吧,事务管理器,那事务管理器是干什么的。是控制什么我们程序里边事物的是吧,控制事物,那他如何控制事物的,那么将来肯定是这样的,将来我们说让我们所有的service层和member层都交给spring去整合了,那我们说我们把事物加到service层了,加到service层他怎么办?那将来他一执行这个spring,这个spring调用service的时候,调用service方法的时候,他调的时候,他每次什么调那个service方法,调之前它要开启事物。然后呢,开启事务之后,然后呢调map的代码,Map就去执行搜局,执行完了之后,整个service该调的map都调完了,把事物提交了,如果任中间任何一个map报异常了,都会什么回滚,都会回滚,那么他怎么知,那么他怎么开启的事物,怎么提交的事务,怎么回滚的事务,都是通过这个类来实行。
61:23
这个类来进行什么实现?有这个类,它去它去实现整个事物的控制,将来spring是吧,在CT层调service层的方法,那么一调service方法死不就给service加上事故了是吧?调之前开启事务,调之后提交事务,调什么中间这个service执行过程肯定调别的map,那这些map都调完了,那么提交事务,那map任何一个map报错了都会回滚,事务都是由这个类来做的。这是我说的事,那你会你答应你从这个这个这个类的方法上你能看出来。
62:02
调它的时候给他注了一个data搜索,Data搜索访问数据库的数据库信息都在这里边了,所以他拿到数据库信息他就可以是么?连接上数据库之连上数据库之后,该开启时候开启,该提交时候提交,该回滚时候他都能回滚知道吧。这是事物管理器,然后下边这些就是我们前面老师给大家讲的那些种面向切面编程了,就是给哪些service方法加事物知道吗?加什么样的事物知道吗?让他去扫描,我是把这些service下面的这些方法,然后都给它加上事物。啊,当然这些类我们还都没写呢,我们下配的以后我们写这么service层类的时候,都放在这一包下边,那么service层的这些什么方法都可以加上事物,加上什么事物了,下边事物的特性。这些打头的这些service层的方法,加上这些事物的特性。这些打头的其他的所位方法都加上这些事物的特性,这些事,这些特性都是干什么的?那大家前面我们说翻一翻前面笔记都干什么,这叫事物的传播特性,这叫事物的回滚策略,那么他到底怎么传播,传播特性到底是什么样子的,遇到什么情况下会把什么事物回滚了,这个时候大家翻一翻前文笔记知吗?但我们这个地方就不给大详细的讲了,如果详细的讲了,那我们没有这么多时间知吧,我们主要是做我们业务开发的,所以大家我就给他提示到这儿,所有的这些标签我不要求大家背下来。
63:35
但是你看到标签之后,你要能知道他们是干什么的。需要改的时候,你要能够知道改哪儿,怎么去改。这就行了,这就行了,知道吧,好,这时候我们说这个配置文件,我们就给他家说到这了,好,下面其他的再看别的配置文件,然后呢,再看再往下,这是spring MC的配置文件,我们说我们的控制层是用springc,那springc也有它的一些配置文件,它的配置软件有哪些,你比如说再看在spring安WIN7当中都是配置什么了。
64:06
什么七这都配置了吗?要是扫描看够的话。对,扫描CTRL所带的包还干什么?视图解析器,对还有啥拦截,对拦截器的知吗?拦是不是那个拦截器需要配置啊,对,基本上就配置这些,常用的就是要配这些,它这里边就配置这些,所以我们将来要配置的,我们这个地方来配置多少这个地方,然后呢,我们这个地方来在这个地方来给它创建配置文件,这样就行了,然后呢,这些你也不用背,全部拷下来就行了,拷贝然后呢,放到我们这这样吧。所以大家这是我们这个这些配置拦截所有的请求,然后呢,这个地方去扫描我们CTRL类所在的那个包,当然这些包我我们现在还没创建呢,等到我们后边创建,我们后边创建包结构,我们就这么创建就行了。
65:06
好,然后呢,大家这是注这个什么配置注解驱动,这我们就不多说了,然后呢,大家看这个是配置我们的视主解析器统啊,这是前缀,这是后缀知道吧?下边这个是文件上传的,我们后边做文件上传时再给大家说他这个叫文件上传解析器知吧。当然我们还也可以,如果需要用到拦截器,在这里边还得配置拦截器,那配置拦截器我们下载把给它列出来,到以后写的时候我们再来配置,知道吧,好,这样的话,这是spring Mac的配置文件,我们就给他说到这,好,这时候我们知道下边继续了,大哥,这是spring总的配置文件。因为spring有可能有很多配置文件,知道,包括SPRING7也属于spring的配置文件的一部分,知道吧,那我们说如果有多个配置文件的话,都什么一个一个加载,当然到时候特特别麻烦,所以我们配置一个总的配置文件,如果spring别的配置文件都可以在这导入这个配置文件里边,在将来在服务器启动的时候,只需要加载这个配置文件,那其他所有的spring配置文件都会加载,所以这是总的配置文件。
66:09
我门这个地方来加一个spring总的配置置件,这再创建一个spring的配置容件,然后呢,这个spring总的配置件把它拷贝过来,拷贝过来之后,然后呢,放到放到我们这来就行,知道吗?好,那在这里边我们说假如spring配置文件里边需要用到一些proper的一些什么,一些pro的一些这些什么属性配置文件,你这个地方可以导入进来,加载进来,将来在这个配置按钮边可以配置一些K89 KY9的一些参数,将来我们可以通过什么do号,符号,大括号,可以通过K来获取这个配置文件里边一些方数,当然现在咱们没用到这些配置文件,我这个段简单给大家先列出来,以后用到时候再说。先给大家说,在这说,假如spring配置文件用到这一配置文件了,可以加载进来,知道吧,好,还有大家这是干什么的?
67:00
对,这是spring要扫描是吧,我们都是基于注解的这些是么来进行配置,那spring要扫描,将来spring要整合service层,整合controller层,整合map层,那么将来我们说它整合这个什么controller层的时候,那就这些什么,那controller层所在的那些类所在的包都在spring m VC当中已经扫描过了,然后呢,整合十九层map层的时候,都已经在spring集成买body配置文件里边已经扫描过了,那还剩一个service层没扫描过,这个地方就是扫描service层类所在的包吗?知道吗?将来我们创建所有service层的类,你要想基于注解的编程,那么你把你的service层类所所在的什么service层所在类,把那些包都给什么都配置到这,那将来在这些类当中你就可以用注解了,用注解那么都可以起作用,它就会扫描了。好,这是我们说这个地方,然后呢,大家看这是我们说spring spring用到的其他的一些配置文件,其中就是一个spring整合my body所用的配置文件。
68:05
将来把这个配置文件导入到这个什么这个配置文件里边,将来我们只需要加载这个总的配置文件,那么将来什么这个导入进来配置文件都可以自动加载了。那它里边配置那些什么B都可以自动来什么初始化了,包括那些参数,好这样的话大家看我设置我们的这些配置文件是吧?这是spring my8和spring VC这配件都加载进来了,该扫描的包都扫描过了,这个地方给大家强调一点,将来我们全部都是注基于注解编程,那我们注解编程我们将来会什么?有map层是吧?Map层有那个么?Map层要扫描map以及映射map接口以及映射文件所在的包,然后呢,Service层基于注解,要扫描service类所在的包,Spring MC,那么那么它那control所在包也需要扫描这三个,这三层的代码都基于注解编程,然后呢,将来扫描他们所在的包在哪扫描大家要知道,那么啊,这三个所my body知么?MY所的包在这个文件里边扫,CL所的包在这里边扫。
69:14
然后呢,Service层所在包在这里边走,所以这些大家要知道。好,这个地方我们就不给大家多说了这些,然后呢,大家看这配置下边还有一个最重要的优配中间。哪一个呢?这一个y.X方五,为啥说它是最重要的一个配种呢?对,这个配置文件是整个外部项目的核心和标志,你只要做外部项目,必须有这个配置文件,如果没有这个配置文件,你的外部项目做的再好,它都不叫外部项目,这是外部项目的核心,核心配置文件。这个配重件他给三大框架没关系,只要是做外部项目,哪怕你不用SSM也必须都有这个配重件,包括大家从一开始学sorry的JSP的时候,刚一学外部技术的时候,就学这个配置文件,知道吧,就学这个配置文件,这是最,那么这是外部项目当中最最重要的一个配置文件了,那么这个配置文件之所以说它重要,它里边配置都是外部项目在启动过程中运行的时候所需要的参数都在这边配置。
70:18
都在这里边配置,而且在外部项目部署到他不开的服务器上的时候,他不开的一旦启动了这个项目,默认都会加载这个配置文件,把这个文件配置文件时配置的所有参数都会加载到内存里边,那么将来需要用到这个参数,直接用知道吧,所以这个配置文件在抛不开的一起动的时候,首先就是加这个配置键,它不加载别的配置键。这个外部项目启动时候只会加载这个配置文件,那你说老师那spring和spring MC和买那些配置文件,那什么时候加载,在这里边加载那些配种件,如果这个配种物加载你这些配种件提供的再好,他们也不会加载。加载什么意思?就是把配置文件里边数据读到内存里边,将来程序运行的时候直接用那些参数知道吗?所以外部配置,外部项目只加在这个,在这个里边,再加在别的配置里面。
71:13
这是我们说的这个,那现在呢,我问你啊,在这个配置文件里边,我们通常干什么,配置什么。调度,对中央调度器C的中央调度器是吧,还有啥。监听器对谁的监听器对spring那个是吧?对加载spring核心那个就是总配置我家那个监听器是吧?还配置什么滤滤对过滤器字符及过滤器是吗?还配置什。对,换一个页面是吧,换一个页面是吧,所以我们访问一个项目,直接什么一访问项目自动的跳转到某一个页面去,或者某一个外部资源去换一个页面,在这里边配置这几个地方,所以的话这个配置文件,当然这个配置文件你也不用备,这都是固定的,你做完一个项目之后,这些你都会。
72:07
然后呢,这个地方我就直接拷过来了,然后呢,这个地方我们这个配置文件已经有了,来看在外部iner下边这个配置文件,只要是外部项目,它一定有这个配置文件。不管是微项目还是别的项目,一定有这个外准样,这是外部项目的标志是那别的这些我都给他,我这给他提换掉了啊,我就边就把用我们的标准的,知道这样的话,大看这是我们这个可以嘛,什么,那我们说大家可以简单看一下这这些参数,这是干什么呢。是不是配置那个spring呢,是吧,对那个加载什么总到配置文件了,通过这个什么加,通过这个监听器去加载这个配置文件,通过监听器去加载这个配置这个监听器,我们说在服务器一启动的时候就会什么执行这个监听器,在这个监听器里边会找谁会找这个参数。找谁,找哪个参数,找这个参数名字是他的参数,找他指向谁,指向此边总的配置文件。
73:06
这个配置文件配置写到哪儿,你想到我们放到根下边了,Pass下边,那么我们这个地方他就找这个配置文件,在这个配置文件当中导入了这个配置文件。所以一块儿把他俩都加载了,它里边配,他们里边配置的参数全部都读到内存里边,那些参数想用的时候直接从内存里边拿就行了,就是说它里边参数,它们里边参数都可以用了,知道这是这个s spring的这个加载器知道吧?这个监听器知道吧?好,大家看这个地方是不是过滤那个编码的,我们说我们所有的整个环境当中,所有的编码格全部都U广告,不管请求还是响应在外部当中也都是U广告,知道吗?所以这是我们说的这个地方。好,别到我们这个下边再看这是不是spring spring m VC的调度器啊,核心调度器,那这个地方再看我们说他在这个执行这个调度器的时候,大家看他说这个sorry,在什么时候出的话,配置load on up什么意思。
74:06
对服务器一对服务器什么刚一启动的时候,是不是就创建这个操作的这一个实例了,对创建它就这那创建它的时候干什么,在这个地方你看吧,加载到spring的配置文件,所以把这个把这个配置文件加载到内存里边了,所以它里边参数在我们服务运行的时候就可以直接使用了。这是我们说的,这好,那你说儿这个地方怎么没加载,这个地方在哪加载的。是不是在这里面加载的。在哪个地方打卡?大家是不是在这儿加载的,等到这个文件在什么时候加的,在它加载的时候加的,所以它它加载的时候加载它,它加载时候呢,加载它,然后呢,在spring MC这个地方我来看。在外部的当中又加载这个配置文件,所以我们所有的配置文件都加载到内存里边了,就服务器一启动的时候全都加载了,所以这些配置信息我们全部都可以用了。
75:06
好,这是我们说的这种,那我们说这是spring,这是spring mvc的核心调度器,那它的核心调度器带上它处理什么样的请求,这是它处理这种请求,然后呢,这是基于那种restful那种风格的那种这个请求,知道吗?然后呢,这个地方所有点都的请求他也可以处理,知道吗?啊,所以这是我们说,当然你要是想让它再处理别的情况也一样,你可以继续往下边配置,咱们这个就配置这两个知道吧,好,这是我们spring mvc的核心调度器,下边大看这个地方呢,还原页面,还原页面是吧,将这个地方配这个页面去啊配这个页面,那么将来当用户一访问我们这个项目,只要一访问HTTP协议IP地址端口,项目名字,直接就访问这个资源去。这个资源是什么,那么将来我们要肯定要么要要么提供一个网页,要么提供一个cler,让他去访问去知道吧,那我们一看这个这个资源名称就知道了,这是不是一个网页,不是网页这是什么,将来还有一个配置cler跟这个cler方法是不是定义一个什么资源的名称,就叫斜杠,是不是就可以了,将来就访问那个CTRL了,有那个CTRL跳转到别的页面去。
76:19
啊,下了别的页面,其实就是首页去知道吧,好这时候我们说大概这个这个配置文件,我们就给大家说到这儿了,就是这个配置文件知道吧。好,这是我们都说的这个配置文件,知道下边再看,还有最后一个配置文件,最后一个配置信息哪个地方,这个是配置,就是每每对配置文件的编译选项的。这个地方大家是不是也也也也配置过这个,这这个配置选项是干什么的。对,让让妹妹将来帮我们编译我们项目当中所有的这些配置文件,是不是这样的?对,为什么要配置它,因为什么may默认情况下只只会编译什么Java源文件这些配置文件,他不会帮我们编译这样的微文,因为我们创建微文项目,将来就是让微文帮我们构建或者编译我们的项目的。
77:14
那么将来让妹默认情况下,它只会编译Java源文件。那我们Java当中如果用到一些配置文件,它默认不网编译。那我们这个状就通过这个参数,让me将来不但要编译原文件,还要编译这些目录下指定的所有的配置文件,以及所有的文件都可以编译,只要在class pass下全部都可以编译。这是我们的源代码所在的这些目录,这是配置文件,这是什么Java源文件?只要是在这些目录下边这些文件,不管是原文件也好,还是配置文件也好,全部都给我编辑,所以那我这个地方CTRLC拷贝拷贝,然后呢,放到我们的me的配置文件当中来配置这个选项,将来me就不我来进行相应的编辑了,那配置微的这些什么参数,在po沫文件当中,在泡沫文件当中来配置,它在哪配置。
78:07
是不是在beder下边配置,对build buildder是表示什么,翻译成中文干什么?对构建,构建什么?构建就是我们说的这种项目的编译、运行,打包部署,这些都叫构建的过程是吧?当我们用妹妹主要是编译的是吧?所以那我说你要编译的一些参数全部配到这里,那我们直接配到这里就行了,直接放到这里,诶直接从CTR非放到这里,这样的话就可以了。好,这是我们这个,这些所有的配置参数我们都给他,这所有的配置文件我们就给他写到这儿了,所以总共有这些配置文件,这个地方我们也是参考,那参考我们的课件,课件这是我们这,当然我们说你用不同的技术,这些配置文件是不一样的,我们用的是SSM的这种技术架构。
79:02
微版的外部功能,所以只有这些配置文件,那么当然后边阶段大家再学别的互联网技术,配置文件还有吗?比可能在这个基础上还得再加别的配置文件,知道吗?啊,所以大家现在大家先掌握到这种程度就行了,好配置文件加好了,下边继续了啊,咱们前面给大家说这个软件开发生命周期的时候,当我们这个地方除了这个什么加了配置文件之后,下面还有什么对静态页面,还有这静态页面也都得给他加上,因为我们做外部开发,既有前台又有后台,那么我们家的不管是依赖还是这些配种件都运营到后台的,后台所用到这些资源。那么前台页面也有资源,所以把前台页面也得加进来,那这些页面我们说美工已经做好了,在我们做需求分析的叫什么需求调研的时候,美工已经做好了。然后我们程序员以后不用写页面了,直接把他的页面,然后加到我们的项目里边就行了,那所以他的页面在哪,他的页面在这个就是项目原型,大家看吧,就是这个项项目原型是。
我来说两句