00:00
大家看我们说来持久层持九层是干什么的?对访问数据库吧,访问数据库或者叫操作数据库的啊,操作数据库这种持九层知道吧,19层是访问数据,那访问数据库的话,那其实无非就是对数据库里边数据是么?连接上之后增产检查就这道吗。对,那为了访问数据库,我们学过什么记录?对JDBC,对JDBC怎么访问数据库?对很很麻烦是吧,那好好多步骤是吧是吧,加载驱动创建连接,然后呢,得到一个这个骚狗执行器是吧,STEM是吧,然后呢,对执行骚狗是吧,放里边对需要传参数时候,还可以给他传参数。然后去执行骚扰据,执行完了之后是不是还得处理结果结对,把结果结,然后里边数据取出来,最后呢,对关闭释放资源是不是这样的,所以这些步骤多麻烦,为了执行一个造数据,每次执行造数据,不管执行什么操数据都得这么步骤,太麻烦了,所以开发的时候不可能用它的,不可能用这种JDBC,你以后到公司,公司里边开发的也基本上不会用JDBC,那我用什么呢?对用框架技术叫my body,知道吗?My body这种技术。
01:22
他是对JDPC封装起来,把JDPC当中那些繁琐的那些步骤都给你什么封装起来,你不用写了,他来写,你只要写你自己必要的一些代码就行了。这时我们说,那他对GDPC咋分光呢?他咋封装的?对,他把那些重复的步骤加载驱动创建连接,得到step呢,然后呢,设置参数,然后处理结果,你是不是全给你封装起来了,你以后不用干这些事了啊,那那我们以后干什么事呢?对对,只需要写骚语句是吧,告诉他就行了,告诉他执行骚扰语句就行了,我们把参数传给他,那么它会自动的做这些事儿了,知道吧,然后得到结果集,他也会什么自动给我们封装起来,对,自动封装起来这种吗?
02:10
这种的my body,这种my body,那你说老师这工作功能是不是用的好,呃,多数也都用它现在。啊,多数现在市面上多数持九层也都用买八,那当然我们也不排除个别的公司还有一些别的类似买八的这些框架,也是对JDBC的风光哪些框架啊,一个最经典的一个框架,就这个对harber harber这个这是用了很多很多年了。这是这个用了很多年是吧,以前这是什么?学Java必备的一个技术har,这是最经典这个技术,他对JDPC做了封装,知道吧?啊,他的封装比买巴做的好,他比买巴的封装的更彻底,这个技术他应该是最最经典的个,那么以前只要是学阶,只要是学加va,肯定学他以前那种三大框架都是什么。
03:01
SSH吗?不是SM。以前都是SSH叫har啊,它是最经典的一个这个这个一个持久层的框架。他封装的特别彻底啊,他都彻底到什么程度啊,他比买把子都还彻底。就买八对的作,他彻底到什么程度呢?是这就买八,这是他把咱们那些繁琐的那些功能,什么加载驱动,创建连接那些东西全给你封装好了,你只需要写server语句就行了,你要执行server语句的话。就这买八他能彻底到什么程度呢?你要对你要执行造五句,你就不用写骚五句。就你不用写搜入句,你搜句都不用写,就它给你自动生成搜入句。就他就疯狂到这种,他就做到这种程度,哎,你说老师大那奇了怪了是吧,我要执行搜手去,我不写搜手去,他给我生成,他怎么知道我是我要我要执行什么样的造物决呢?对对,他的思想就是这叫他做的这个思想是这他这他的思想是这样,他把你要执行操作,你不就操作数据库当中表吗?对你不就只你就就对表增长改查吗?但是他这样,他把数据库中表和Java当中的实体类做个映射关系。
04:18
啊,做个对应关系,一张表数据库一张表对应实体类,表里边字段对应实体类的属性,字段的类型对应实体类属性的类型一一对应,就这么对应知道吗?然后呢,这样说,以后程序员要操作一张表的时候。你不知道表的存在都没关系。你连so语句,什么insert update那些语句语法什么什么东西你都不知道,都没关系干什么,你只需要操作这个类就行了。怎么操作类,你比如说我们举个例子,假如说你要往某一张表中添加一条记录。啊,我们往这个表中添加条记录,那你怎么添加呢?你不用写什么insert,什么色主语干什么,你对你有一个对象。
05:03
把你要添加的数据设置到这个对象里边,去封装这个对象,然后调查一个工具方法,调一个什么,一个save,一个方法把你的对象传给他这个对象,这个方法在执行的是底层,一看你执行的C方法好了,自动给你生成一个int语句。然后呢,操作哪个表,你看这个类对应哪个表,把这个表拿过来。然后里边字段一个一个的都给你写了,然后并且把这个对象的属性一个一个什么设置进去,然后呢,就给你执行了。自动给你生成色鱼啊。所以你压根你就你连搜索句是啥你都不知道,你没学过搜索句,你都能操作数据库这种。你只需要操作类就行了,那你说老师万一我不会操作类呢。你。是吧,那就说不过去了是吧,肯定会操作累,你说我们,你对大家以后你千万不要说我不会操作累是吧,这是你吃饭的东西是吧,你肯定会操作你你就是做什么,天天做的事就操作累的,就是写累了,你说我不会操作累是吧?你肯定会操累,再复杂的累,不管是什么累,你都会操作啊,那肯定是这样的。
06:17
啊对,但我们说大概这时我们说的这个,他说他这种思想,他就他就怎么强大到这种程度,所以这种当时这一个框架,这个框架就垄断了整个持久层,这种Java开发持久层任的技术很多年很多年大家都是用它知道,因为它开发起来太简单了,对用户对程序员的要求太低了,就入这个进入这一行业的这个程,这个这个门槛太低了,你不学数据库都行,甚至知知道吗。他就智能,它就是个封装到这种程度,哎,你说说他这么强大怎么不用它了。诶,这挺好啊。复杂对他有他的缺陷是吧,我们说任何事物,这个世界上任何事物都有两方面的,都是两方面的,知道吧,就啊有一句话是吧,说这个是吧,上帝给你是吧,这个关上打开一扇门是吧,是吧,肯定可以给你关上,关上一扇窗是吧,啊,给你打开一扇,关上一扇门,他肯定给你打开一扇窗,他不会把你逼死是吧。
07:21
他肯定是这样的,任何事物都两方面,他有他的优势,他肯定要有他缺陷,那他的缺陷是什么呢?对他他他不灵活是吧,他不灵活,再一个它效率比较低,他不灵活什么意思?但你想啊,啊S因你不生成了,他给你生成。啊,他给你升容。那他给你生成那。那你省事了,但是从另一方面来讲,你也控制不了这个社会。那简单的搜候,你写的跟他写的是一样的,那对于一些复杂的搜候,他只能按照他的规则给你生成操去。那假如说很复杂的时候,他按照他的规则生成,万一他这个规则不是最优的规则呢。
08:02
不是最优的搜狗域呢,我想优化一下这个,So狗域就不优化不了,因为他不用你的solo句,你优化完了他不用知道吗。啊,所以说它呢,它不灵活知道吗?你想自己优化的话,优化不了知道吗?就是它不灵活,再一个呢,它的效率低,为什么效率低,但你想他给你生成骚扰与它怎么生成的。他肯定通过它的程序生成的。他每次什么执行一个搜狗,都得额外的执行一段程序,生成搜狗局的程序。他执行的在哪执行,肯定也在服务器上执行,那在服务器上面执行,他肯定占CPU占内存。那你的什么服务器的压力就增大了。额外就增大,所以说他告诉我说任何事物都是这样是吧,你什么给你带来便利的同时,肯定会有一些其他方面的损失。那我们就是说什么,那我们就是什么,要尽量避免他的这种损失,然后利用他的这个便利支出,知道吗?好,当然我们说这个买八带来便利的同时,他损失了灵活性和这个效率,那你说老师以前为啥还统治这么多年,为啥还用它。
09:11
对,那时候项目没有这么复杂,大家对效率要求没有那么高,数据量没这么大,它损失的这个灵活性和效率我们可以承受,所以我们就用它,那现在随着这种互联网应用的发展是吧。那数据量越来越大,大家对这种效率要求越来越高,他就不满足要求了,不满足要求怎么了,那我说那就不用了,现在慢慢就被投奔。其实这个技术做的是非常好的,非常好,这是最经典的一个持久存况下。啊,这是我们要说这样啊,所以大家这种技术的发展方向,就是从这个这一方面大家也会看到什么技术的发展,现在目前来讲,这种互联网应用发展的方向叫什么,这种技术应该是什么,朝着一个叫什么小巧啊,叫小巧灵活的一个发展方向,像这些比较笨重的这些技术慢慢都被淘汰了。
10:03
越小越好,所以到后边在后边阶段老师给他讲微服务是就微服务的感觉,现在提供微服务,微服务什么越小越好,把一个功能做成一个项目,谁需要谁调,并不是把所有的功能都放装在一起,做了一个大的框架。越小越好,叫小巧灵活,这种笨重的技术越越来越被淘汰了,知好,这时候我们说这种这个这个框啊,知道吧,大家知,如果现在大概也有一些个别的公司也在用,就是对那种效率要求没有那么高的,也有在用,特别是一些老项目,因为他想更换这种技术,房价其实也不容易,底层代码都得改,知道吧啊所以也有在用,大家知道这个技术就行了,就目前的新项目一般都来讲都不会用到,知道吧啊除了这俩框架之外还有什么?还有一这个叫I巴,可能大家前面老师给大家讲I巴提过这个。对,改名了,他认证了他的走气版本。就买八的走基版本,这好,这是我们这个关于这个持久层,我们就用买八的走啊买八的好,这是我们说这四层技术,大家你看你看这四层技术的,你看基本上这些都是咱们以前学过的技术,其中有一门课是吧,我没给大家列出来,你看吧。
11:17
你前面学了,我没列出来,有一门课。哪一门课?对,Spring没列出来是吧,那么spring是属于哪一层业务层呢?对,Spring可以处理业务层,但是我们说为什么不列个业务层呢?对,它不止是业务层,Spring其实它是跨层的,其实严格来讲spring是吧,控制层,业务层,持久层都会用到spring,是不是这样子,其实spring应该说做整合的,就我们把spring叫整合组。整合啊整合的,我们说后台的这这些层和层之间并不是孤立存在的,它们会互相有依赖关系,调用关系,那么这种依赖关系要维护。
12:03
啊,要维护,那我们说怎么维护起来。那如果没有spring的话,你的手动维护怎么手动维护。那CTRL个调service咋调,假如没有你咋调。对new new一个service调service调刀吗?还是牛知道吧,牛的话就有问题了,有啥问题。对,一个人慢,再一个呢,你要说每次C1为任何一个CTRL掉一个service,你每次都牛的慌,每次都会产一个service对象。每次都是产生service作假如你一个项目频繁的访问,频繁的访问CTRLCTRL,频繁的调用,频繁的new service,你会创建很多很多的service对象,那对象大家都知道存到内存里边,并发访问量很大的时候,同一秒钟发过来什么几千个、几万个,甚至几十万、上百万个请求都访问肯出了,肯得有几百万个service组,那老师能那么多吗?
13:05
这不夸张啊,但你要做一假,别别说别的,就现在互联网发展到这种程度,就别不说别的,你说你像购物网站,假如你做购物网站,就人家说你说购物网站后台同时向后台有多少人发请求,下单什么之类的,这些查询订单等等,这些都得向后台发请求,像后台发请求,我们说就像京东、淘宝啊这些同一秒钟有多少人向后台发请求。对,多少?百万对百万级,至少在百万级的,你说叫购物,你叫购物节的时候,可能一秒钟就上亿次,就零点的时候可能就就上亿个群就发过来,是不是知道吗?你你每次都扭一个service能受了吗?你说受不了知道吗?受不,所以他肯定受不了,那那那怎么办呢?你要那你就不能丢了。不能丢,那怎么办呢?每次不溜了,诶,每次不牛,我咋拿到这个对象,就妞一个对象。
14:01
谁需要谁调他就行了,明白吧,对,谁需要谁调,就你有一个队,那就什么,就是咱们前面老师以前给他讲的单利模式知吗?咱再这么就整个系统上就一份,那说就一份,但是数据不是线程不安全了,Service里边没有成员变量,不牵扯到线程不安全,是不是这个意思啊,就这样,所以大这也也是一样,如果你自己溜的话,你不能随便溜,你得什么保证单利模式,怎么保证单利模式?那你得做工厂类,就为你说什么,你得做工厂一个类,一个service,做一个工厂类,一个到做一个工厂类,他需要这个service调他的工厂类拿到一个service所因为这个操水的说实现工,实现这个单利模式了,他调这个道,然后照这个道,这个当这个提供一个工厂类专门生产这个刀的对象,知道吧,所以以前spring产生这种技术产生之前呢,依赖关系都是自己什么去维护,自己维护什么,会写大量的工厂类,知道吧,大量的工厂类。
15:02
所以这个时候开发效率就降低了。啊,所以大纲大家那开发效率降低了,代码也不好维护了,懂,所以这是为了解决这种问题,像这种框架就出来叫什么,整合起来叫spring什么这种框架,这种框架干什么,他来给你做一个什么一个容器,它那个什么容器啊,说白了就是工厂类,就是把我以前写的工厂类容啊,然后呢,挪到他这边,他给你用生产各种对象,各种对象,那他生产这个对象肯定实现单立模式的,你们以前老师给大家讲s spring认的时候,是不是也是单立的,当然他也你要想多立,他也能多立,因因为他毕竟作为框架,你想要什么什么样的,他给你做成什么样的知。啊,所以这是我们说到这个,所以它做整合的整合作用,Spring,那这是它帮我们它的作用主要是这spring这个作用,像这整合同主要是干什么,是刚才我给大家说的这些类,处理类和类之间的依赖关系,其实就处理帮我们维护这些类资源,不这些一个一个类在我们项目里都叫资源。
16:08
叫这些资源需要创建对象的时候要能够拿出来,这些对象叫维护类资源,维护这些什么类资源,类资源它是spring怎么维护的,就是spring我们前面学的IOC,它提供一个容器,一个总的工厂类,帮我们生产各种各样的service do的这些,包括CT的这些什么对象,还用IOC提供容器,需要的时候到里面去拿就行了。知道吗?好,这是我们都账,还有什么维护类资源,它还可以帮我们维护什么,维护我们数据库资源,数据库也是资源啊,数据库资源,数据库资源啊,像这些什么整合层在关我有数数据库资源,数据库资源怎么维护的。啊对,他也能连接数据库,集成集成持久层的技术,然后呢,帮我们连接数据库,然后呢,把数把这个什么啊,这个连接上数据库之后呢,帮我们通过什么集成这持久层的这些技术,然后呢,这个去访问数据库,去那访问数据库的时候,它最典型的一个一个作用就是什么能够控制数据库的事物,能够控制数据库事,你想让他什么。
17:22
这个发这个事物加到哪一层,它就加到哪一层,但我们来讲的话,我们要保证操作原子性,都是把事物加到service层,Service层控制业务逻辑的。控制service层,那他控制你只需要告诉他我把事物加到哪一层就行了,他将来去集成买八的时候,每次调这个service,每次调一个service层的方法,调之前开启事五调的中间过程当中,一个一个的调,各个摆直行,各个serve有任何一个service就报错了,会回滚。然后呢,只有全对了,最后提交书。知道吗?所以说吧,它就是维护数据库资源,维护数据库,那它维护数据库资源用它的什么技术,对LOPP是不是切面编程,给每一个缩水串上加切面,加切面怎么加的,这是它底层这个圆,这是它底层实现的原理的问题了,我们不用管它,我们只需要记住它怎么用它就行,告诉他把事物加到哪,他就往哪一层加天面,知道吗?
18:23
好,这是我们说这种spring这种做整合的,这是好,那你说老师以后的工作过程是不是都用,应该现在90%以上都用,是这样。那除了这种spring这种这种框架做整合,还有哪些,还有别的,就还有别的啊,别的呢,我们啊现在基本上被淘汰了,就我们一开始开发的时候还会用一用,当时就是已经这个。已经这个很流行了,已经很流行,但是也有类似的技术,特别是老项目现在还在用,大家简单了解一下类似于spring的技术,这个。不知道大家听说过没有?对EGB,那你们现在都没听说过了,因为现在这种技术嘛,比较老了,就是特别老的项目才用,就以前这个技术是spring刚一产生的时候给不形成竞争知道吧,他应该给不次于不知道吗。
19:13
它也是非常流行的这个E界毕这些术,就说当时学只要是学Java,像这些培训,培训学校都开这门课,叫EG毕是吧,E界B这门课知道吗?他做的也比s spring做的好,功能更强大。他做的非常好,就是他为啥不用了他的毛,他的毛病跟他一样。功能强大,不灵活,效率低了,效率低。太笨重了,我们说现在技术的发展方向,小巧灵活,知道吧?太被动的技术,功能再强大都不会用啊,大家都不会用,因为太这么学起来不好学,用起来不灵活啊,不满足这个社会要求的这种高效啊,高效灵活的这种发展趋势啊,Spring为什么现在大家我们现在学了spring spring VC,你们后边还还会学spring boot spring,还有等等spring别的一些框架。
20:09
现在spring有个全家桶是吧,就他在Java意义开发过程当中,好像有个一统江湖的这么一个一个趋势是spring他为什么这么强了,就因为它符合社会发展的趋势,就什么小巧灵活。他不是把所有的功能都做到一个框架里边,它分为好多框架,你想用哪一个,即插即用,你你解决哪个问题用这个,解决这个问题用那个用用这个是吗?咱小巧灵活这种趋势,等你们后边阶段还会学spring相关的框架。这些好,这时我们说除了这个还有这个,这个更走了,这个更走了,它比一杰厉害,走了这个更,这个更笨重知,但是它的功能也更强了,叫Co宝啊,大家这个简单了解一下就行了。好,这是我们给要说的这个关于CRM项目的技术架构,我们就给大家说到这儿看吧,所以大家以后人家问你用什么技术,那我们记记住框架,那你就什么,你说我们试图层用什么,然后呢,这个界面用什么,然后呢,这个什么控制层用什么,业务什么持久层用什么。
21:12
用手文整整好。啊,这样就行,这样说起来多好是吧,而且呢,我们趁着这个机会呢,把这些技术都给大家简单做个回顾,当你不熟悉的,当然我们前两天没有代码,你呢,课下的时候把这些相关的这些那个前面写的代码笔记好好翻一翻那吧,代码最好都写一写那吧。啊,有视频你就哪一块不不熟悉,或者记得不牢,或者学的不不牢叨一定要补上它,因为后边这些记录我就认为你已经会了,到后边做的我就直接用了,我们不给大家讲了,知道吧,好,这个我们就先说到这,好下边大家休息会休息,我们来看看后边一些这个CRM项目的一些情况,好啊,大家休息会儿,下边休息一会,那我们这个。
我来说两句