00:00
好,那下面我们来学习一下spring框架,好那spring呢,对于我们Java程序员来说呢,是一个非常非常重要的框架,就像是它的名字一样,叫做春天,对吧?然后咱们学习了spring之后,那Java程序员的春天就来了啊就是这个意思,好然后spring它本身呢,是一个家族里面有,里面呢有实现各种功能的框架组成,我们以后呢,就会学习到各种spring中的框架,好那呢,那我们要想学习这个框架,咱们要知道为什么我们要学习它,然后呢,Spring到底是一个什么。那首先咱们可以从它的官网里面去看出来,为什么咱们要学习它啊,好,咱们把它的官网打开,然后大家注意,你看咱们映入眼帘的就是一句话叫做spring makes Java simple,什么意思spring呢?它使我们当前的Java程序变得更简单,好,然后为什么要学习它,在这呢,就有一个y spring,然后咱们打开之后呢,大家看这一句话叫做spring呢,它使我们当前的Java编程,然后变得更快,更简单,更安全,For everybody,对于每一个人来说。
01:11
那当然呢,是对于咱们的每一个Java工程师来说,然后再往下,然后spring呢,它这个集中于啊,然后速度,然后还有简单化,然后还有一个叫做生产力,然后呢,Has made it,然后使我们当前的spring呢,然后成为了我们当前这个啊,世界上最流行的一个Java框架,那当然呢,咱们现在呢,只是从spring的官网里面看到了它的一些好处,看到了它的一些优点,那我们现在并没有学习这个框架,等到大家学完之后呢,大家可以再回来去感受一下。然后呢,你觉得这个spring能给你带来一个什么样的好处?OK啊行,那下面咱们再具体的去看它的一些概述,Spring呢,是最受欢迎的企业级Java应用程序开发框架啊,然后数以百万的来自世界各地的开发人员呢,使用spring框架来创建性能好,易于测试,可重用的代码,好,那性能好这方面呢,咱们现在可以给大家举几个简单的例子啊,比如说呀,Spring里面呢,有两大核心,一个叫做IOC,一个叫做A,这个IOC啊,叫做反转控制,它可以将我们当前对象的控制权反转给程序本身,其实也就是交给spring来管理,就比如说我们之前呢,然后咱们如果要来使用一个对象,那大家都知道我们是需要去六一个对象的,就比如说我们最经典的一个三层架构,然后咱们的表述层,咱们的业务层和持久层。然后咱们的表。
02:48
数层里面是不是包含这个页面和咱们的控制层,那咱们的控制层里面是不是需要访问service service里面要访问DA对吧?那我们原来在control里面来获取service对象的时候,咱们是不是直接就是写死的,没问题吧,好,咱们需要去new一个service的实现类对象,好,然后但是呢,咱们现在有了spring之后,我们就可以把这些对象呢,它的控制权反转给程序本身,也就是交给spring来管理,那这个时候咱们从资源获取的角度来说,原来我们获取一个对象,咱们需要自己创建,然后去使用,但是我们现在呢,咱们需要用到一个对象的时候,因为对象现在是由谁管理的spring管理,那所以说我们当前就可以被动的去接受spring提供给我们的对象,那所以大家想想,这个时候咱们还需要写死么?就不需要了,我们现在呢,就等着我们的spring来为我们提供一个对象,那他给我们提供的是什么,那我们就使用什么好不像是。
03:48
那我们要通过硬编码把它给写死。那这个时候呢,如果我们现在咱们的service的实现类发生了变化,那我们所有用到这个实现类的地方,咱们是不是都要手动去修改,但是我们现在有了之后,那我们就可以由spring来为我们提供这个对象,然后spring提供的是什么对象,咱们就用哪个对象,OK吧。好,下面呢是第二个叫做易于测试,那什么叫做易于测试呀?就比如说我们在写完代码之后,咱们都要对代码来进行一个测试,来测试它的功能是否有问题,那spring呢,它就整合了咱们的g unit,然后在咱们的spring的环境中,咱们可以非常方便的来使用几unit单元测试,来对我们当前的功能进行一个测试,这个大家注意好,再往下是一个可重用的代码,那什么叫可重用?其实我们学习Java,学习面向对象,那我们最重要的目的其实就是干什么呀,然后来提高代码的重用性,但是呢,有的时候咱们的代码呢,可能。
04:52
这个啊,我们要提高它的重用性的话,以我们之前所学习过的一些技术可能完成不了,就比如说咱们之前学习过这个事物管理对吧,是咱们买circle里面的一个内容对吧,叫做事务管理,那事务管理的话,我们如果在JDBC里面来实现事务,大家都知道这个代码呀,非常的麻烦。
05:13
虽然说这个代码没有几行,但是它的缺点是什么?咱们写的时候它麻烦在哪呢?它不好封装,因为它并不像是我们这个啊,我们平常去封装一段代码的时候,这一段代码它是连续执行的代码,所以说我们可以把这段代码封装到一个方法中,等到我们需要用的时候,咱们去创建对象调用方法就行,但是咱们事务管理的代码呢,大家想想,它是分散在我们当前实现功能的过程中,我们需要在功能实现之前来关闭事物的自动提交,然后我们需要把咱们实现的功能加上try catch,在TRY里面呢,去提交事物,在catch里面去回滚事物,然后在finally里面去关闭资源,对吧?好,然后所以说这个时候咱们用面向对象,大家说你能把它给封装起来吗?封装不了,为什么?因为面向对象是纵向继承机制,它能封装的只有一段连续执行的代码,而咱们的事物是不是呢,不是好,那所以说这个时候。
06:14
咱们就可以来使用spring中的另外一个核心叫做a up,叫做面向切面编程,好,然后这个时候我们就可以把咱们事物的代码呢,然后把它给怎么样啊,把它给放在一个切面中,好,然后我们再把当前这个切面呢,作用于我们需要被事物管理的方法里面就可以,那这个时候大家注意咱们的事务代码,我们只需要去写一次,把它给放在切面中,然后就可以通过咱们的a op的技术,把切面作用于所有需要被事物管理的地方,这样的啊,好,所以说这个时候咱们就可以提高代码的重用性好。那spring框架呢,是一个开源的Java平台,它最初呢,是由谁呀?叫做RO,叫做road Johnson对吧,然后编写的,然后并且呢,是在2003年6月首次在阿帕奇2.0许可下发布。
07:07
Spring呢,是轻量级的框架。然后基础版本呢,它只有两兆左右,好然后这个咱们可以看到它的体积呢是非常小的,而且咱们从这一句话里面,咱们也能得出来一个结论,Spring是一个轻量级框架,也就是说它是一个非侵入式框架,那所以我们在使用spring的过程中,它对咱们的原技术,原生技术是不造成影响的,所以说呢,我们完全可以在spring框架的环境中呢,来使用咱们的原生技术来实现功能。好最后一个大家看一下叫spring框架的核心特性是可以用于开发任何的Java应用程序,但是呢,在Java e平台构建外部应用程序是需要扩展的,这个呢,其实也是我们学习了好多的技术之后,咱们需要来考虑的一个问题,那其实我们的Java程序,然后我们在学习的过程中,咱们学习的过程是什么?首先第一个就是我们要来解决什么功能性的问题,就比如说我们所学习的HTML啊。
08:10
大ML啊,还有就是咱们的GSP啊,对不对,还有这个GDBC啊,它都是帮助我们来实现功能的,而我们实现的功能之后,大家会发现其实它万变不离其宗,对不对?然后基本上咱们实现增删改查的一个套路都是一样的,只不过就是我们操作的数据有些区别,那所以说既然我们当前的过程都是一样的,那我们是不是就可以把这个过程,然后进行一个封装来实现一个扩展性的问题,那我们该如何实现扩展性的问题呢?大家注意,其实就是用框架,框架最主要的功能就是来实现扩展性。好,那当我们把扩展性解决完之后,那我们最终咱们还要来解决一个非常重要的问题,就是什么呀,性能方面的问题,OK啊,这个大家注意,这其实也是我们作为一个Java程序员,咱们学习的一个过程,好,那spring框架它的目标呢,是使g toe开发变得更容易使用,你看这个更容易,更简单,然后我们当前咱们这个词咱们是不是已经见过好多次了,咱们从它的官网上,包括我们在这里面的一个介绍,然后我们是不是都能够看到这个词叫做更容易,那其实我们学习框架是干什么的?大家想一下,那什么是框架,框架就是把我们在特定环境下对特定功能的特定的解决方案,然后把它进行封装,那所以说咱们既然框架把这个功能进行了封装,那我们在用的时候,那我们是不是就这个过程就会变得更简单,更容易一些,OK吧,好,然后通过启用基于PUGO编程模型来促进两。
09:48
来促进良好的编程时间,好,那也就是说在spring中呢,我们也是以对象为核心,然后咱们把对象的控制权,然后反转给程序本身,也就是交给来管理,那这个时候spring就可以把咱们当前它所管理的对象,以对象为基础,然后组合成是一个完整的功能这样的啊好,那这个是咱们spring的概述,那当然呢,咱们还没有讲,所以说呢,这里面的一些内容啊,大家就先了解一下,特别是一些概念性的问题,以及我们当前框架的一些各种特性的问题,大家呢,在学习之前,大家是了解我们在学习之后大家一定要回来再验证一下,看我们当前咱们所讲的一些内容是否符合我们在学习之前咱们所说的它的概念以及特性问题,OK吧,好啊。
我来说两句