00:00
来看我屏幕啊。我这项目把它复制了一份啊,然后在这。稍等啊,把它关掉,不是这个应该是幺七这个是吧,同学们应该是他啊好,这是我们复习的内容,那么我们看一下今天的内容。第一个。我们需要去去再次啊。再次学习。的初始化方法。第二个。学习select中的叫。和我们那个标签叫conduct。第三个,我们需要学习。业务层。啊,学习业务层。第四个我们要了解一下RC。这是我们今天要学习的内容啊,今天我们至少要把这四个把它学掉,那么在这个基础之上,如果大家这个接受的比较好的话,我们再看一下过滤器。
01:02
叫future。Transaction manager。Thread local。Open session in new future。好,看大家情况,这块看大家情况啊,但前面四个我们今天要把它学掉,来吧,一起来看一下,我们先来看第一个基础知识叫来的一个初造方法。其实很简单,同学们啊,基础知识大家不用害怕啊,来,我们重新新建个项目。新这个报道。好,Web application把它勾上。下一步。我们新建个项目叫PROJECT18。杠,我们这写一个叫API。行吧,同学们。犄角是不是的API算了啊,Finish。打开它。
02:00
那行。首先我们来新建一个com.at硅谷。com.at硅谷点行,呃,我们就写第一个代零幺。好,我们让他继承。HTTP。好了,那么这个引用没有,咱们需要把汤盖的依赖把它加进来,没错吧?点他。这个幺七不要了啊,我们只看幺八,找到model,找到幺八。好,找到depend,点击加号library,把Tom get,选中它ADD应用,OK,没错吧,这样我们就把它加进来了。好到爆。那行。我们,我们在这个地方,我们重写do get do post或者service都可以,那么我想讲的不是服务的一个方法,我们的生命周期。
03:02
生命周期四个阶段实例化。初始化。服务。销毁。呃,我们之前看的比较多的是服务是吧,咱们现在来看一下初始化。我们的初始化呢?我们的初始化。有两个方法。都叫in啊,复制方法的重载都叫in,一个是带参数的,一个不带参数的。好了,我们点到源代码里面去看一下。好,这是HTTP。我们在这个当中,我们一起来看一下。叫。你看一下它有两个方法和带一个参数的。好,我们先看一下这个方法。看下这个方法,这个方法你看它带一个config,带一个参数。然后在这个应力的当中。在这个一列当中,它是不是没有带参数啊,然后这个方法是空实线,它是空实线。啊,那么大家可以通过这个方法,我们可以去做一些事情。
04:06
我们可以去重写这个方法。重写这个应力的方法。这个方法我们可以先不动它啊,没有关系的。我们写在这稍等啊,我们不写在这。我们把它写到read me里面去。把它放在最右边。好的生命周期分成四个阶段。第二个select中的初始化方法有两个。In以及init,它里面需要一个con参数的。它有两个方法。其中。带参数的。方法代码如下。它的代码是这样的,Public。Public void in。
05:02
Config。好,Config。好,它里面写的代码是this.config等于config。然后去调用应力的方法。好就这样,然后呢,我们还有一个方法是我们的另外。另外一个午餐的。午餐。无站的应的方法如下。它的代码public VO in it,它里面啥都没写是吧,同学们这里面什么都没写,但是这边有抛抛异常啊,抛异常我没它没没把它弄进来啊,再看一眼。In it。你看一下in是不是slow exception啊,拷过来吧,行吧,同学们啊,这不用死记硬背啊,不需要去死记硬背,我们仅仅是说到这个带着大家看一下啊,你记不住没有关系的,点进源码看一下就行啊。上面方法也是一样的思路。靠过来,把它放到这。那么如果我们想要在初始化的时候要做一些额外操作。如果。
06:00
我们。如果我们想要。在。So。初始化时。做一些准备工作。准备工作,那么我们可以重写应力的方法。能听懂吗?那么我们可以去重写。应力的方法。因此,比如说。我们想在初始化的时候带一些值。那么我们可以在里面去重写。就是他。重写这个应力的方法。我们可以通过get config,我们先获取这个config对象。Config。谢,获取了这个。然后呢,这个con,它里面有个方法叫get parameter,你看。叫初始化的参数。那么这个初始化参数我们可以在哪里配置呢?这个我们先使用XL来给它配置一下。
07:02
找到他,比如说我们在这边配置一下。代码零幺。啊,零幺。零幺。再来。Mapping。好,代码零幺,看好我们就行,叫代零幺行不行?同学们好,现在我要配初始化的参数看好了。我们在这个地方来配,叫in need。叫in per。Name,比如说我随便写一个啊,我随便瞎写一个,比如说我写个hello。下面呢,我再写个word。那请问一下key或者叫name是不是叫hello value是不是叫word?那一会我就根据这个name,这个叫hello来获取这个word,看能不能获取到。所以,因此我在这边get parameter,我应该写什么?这不可以写,哈洛,这就是我所获取到的一个值。
08:01
我们来试试。我们把这个纸把它打印出来。看一下,看他能不能给我们打印出来。叫get parameter这个方法。如果我们想要在色的初始化时做一些准备工作,那么我们可以重写应力的方法。啊,然后呢,我们可以。通过如下步骤去获取。初始化啊,初始化初始化的数据。去获取初始化设置的数据。我们可以通过configgu。我就写个con,等于get。斯con获取到con对象。好,这第一步获取。Config对象。
09:01
第二个。获取。初始化。参数值。Configu get in。Parameter。啊,获取出差参数值,这边写个K。就这样的。那我们一起来试一下,看看行不行。好,找到deploy,把这玩意删掉。添加一个进来就是他吧。幺八。回到这边来。PROJECT18杠零幺,没错吧?Deploy。好,启动一下。我们来试一下,我这里面是不是没有写重写service方法呀。那没有重新难道它就不能响应了吗?是不是看它的负类啊,点到负类里面去。分类里面我们去看一下设方法。Service接待站。是吧,同学们,那这个方法咱们当前肯定是通过get来进行操作的。
10:01
那get里面是不是操作的是do叫do get呀,就是它,所以我们再点到do get方法里面去,那do get里面它是不是执行那个叫405啊。哎,是不是会打印这玩意儿,所以说你感觉好像是报错,其实是因为这边导致的是吧,再一个叫response.send error发送错误叫405。啊,所以咱们最终页面上会显示405。好,不管它啊,那不是我们想要的,我们想要的是看这初始化方法。行,你看这儿。看到了吗?In value等于是不是已经打印出来了?不就是这这边打印的吗?所以他就已经初始化了啊,就这样的,这个初始化是因为我们浏览器已经其实已经打开了。哎,是不是就他。哎,没错吧,接着接着烫,哎,就这样子。好了。OK。那么。这是我们所第一个所说的啊叫。当然这个当中你可以配置多个。你是可以配置多个的。
11:01
In。比如说我再写个Jim。名字。这边我写个叫OK。或者叫依赖吧。Your name,我叫Jim。就这样子啊,我就配了两个。那么它其实也是可以获取的,也是没有问题的。好了,这种方式是配置文件的方式。那么我们使用注解其实也可以。啊,实际上注解其实也是可以的。我们就了解一下吧,使用注解的方式。艾特。Web。那么以前我们都是直接这么写代码,零幺。那其实这个是什么呢?它其实是一个属性名,我们点进去看一下。它其实对应的你看啊。1PART其实对应的是它。后面加了个S。表示一二可以配多个,这就是我说的配置文件当中,我们的s mapping是不是可以有多个?一个塑料的标签是不是可以对应多个塑料的mapping啊,所以它使用的是ul patterns加这个S。
12:05
啊,就是它。那行。我们回到这边来。我们写一下。PAR。等于大括号,其中出现一个大括号,我们用大括号来表示有多个多个值数组啊。第一个。叫弹能用。就这样子。这是伊尔帕,那么除了有U尔帕之外,我们还有一个in。是不是初始化参数啊,叫in para,所以我们在这边再写一下。等于大括号。啊,它里面也可以有多个值。那么这个多个值怎么怎么去编写呢?我们来看一下。好,我把这边小怪挪到下面去啊,这里面的值我们来看一下,它有多个,它是这么来写的,叫at web in。啊,他又用了一个新的铸件叫web。那么这个里面有name,有value那行。
13:01
我们回到这边来,那我就在那边写一下name,等于hello。Value等于word。这就是一个再来。第二个。Web。等于。You name。Value等于G行吗,同学们?这样我就把两个初始的值配上去了,那就和这边的效果是一样的行不行,同学们啊,做个了解,不用去死记背啊。不要去死记硬背。好了,这就就是注解的方式。Can you see。在web。点。点XL。文件中配置select。好,第四个。也可以通过注解的方式。
14:03
也可以通过注解的方式进行配置。好,站过来。啊,这就是我们通过注解的方式进行配置。好,就这样子。OK。那么配置文件的方式,我们也把它挪过来。好,这就是我们通过配置文件的方式,就明显感觉这个配置文件代码比较多是吧,注解的方式明显比较简洁。好,把它挪过来。行,就这样吧。好,这是我们说的第一个小的知识点啊,叫初始化相关的再来。视频我就不中断了啊。第二个是什么呢?第二个叫。它在初始化的时候,它可以携带一些值。那么。其实我们的上下文,我们也可以给他去设置一些值。
15:01
啊,我们也是可以去给他设置一些值的好。看好了,第一步我先来配置。比如说我在这儿。它一个标签叫contact。叫contact。Context是不是叫上下文啊,上下文这个单词我给大家解释过了吧,哎,还有印象吧,上下文好。我们这边写一个para,呃,我写个什么呢?Para。比如说我来写一个叫contact conig location啊,随便我写了一个单词叫con con location,这是他的name。我再写个value值。冒号,Application contact.xl。我也写了这么这么一大长,你别管这是啥意思行吗?同学们,你就认为上面是一个名字,下面是一个value行不行,都是字符串,它都是字符串就行了。
16:00
那么我们能不能在应用程序启动的时候,我们去读取这个信息呢?也是可以的。啊,也是可以的。比如说当前这个代码零幺啊,这边是初始化的。我们能不能在初始化里面去读取,我们来看一下。Get是不是除了有get con是不是还有一个叫get啊?哎,我们可以获取到contact,获取到的上下文,老师,你不是叫contact吗?为什么要获取contact啊?猜一下呗。是不是就是application啊。它其实就是application,怎么获取呢?点get。诶,他也有印尼的per。它也有阴的。那么这个名字就是我们刚才写的conduct config。Location。我们来试试看能不能获取到这个值。Can you see。子俊,它等于它,然后呢,我们把这玩意儿把它打印出来。
17:04
行不行?把它打印的试一试啊。看我们这边配的信息,看能不能获取到。启动。看一下没启动好。哎,报错了,同学们。看一下什么情况啊。报错了。
18:02
呃,我知道为什么了,The 01and,你看一下呗,Are both mapped to the。啥意思啊?咱们是不是又有web DX文件那个配置,又有注解的配置啊。啊。刚刚我不是给大家先演示的配置文件嘛,然后又搞了一个注解,放在填在扔在他这个上面吗。啊,那就有问题了。那你的,那你的U2怕这边写个代码零幺,结果你在配文件又写了一份,随便你把哪个注释掉行吗?同学们能能知道为啥错吧。我就把注解注释掉,我还是保留这个配置文件行不行。再启动。
19:17
我们看一下啊,那你看同学们是不是已经打印出来了。啊,他就已经打印出来,那就说明能获取到。好,那我再接着写我的注释啊,再写的笔记啊,在初始化方法中,我们就这么去获取就可以了,那么在服务方法中,我们也可以通过request对象去获取。比如说我们来写一下。比如说啊,我们写个叫都或者service随便啊。好Iq.get。你看它是不是也有get context?哎,Request对象也是可以获取的。再来。我再试试啊,Request对象点get session。你看他是不是通过赛线是不是也可以获取啊。
20:01
所以方法很可多了啊,都可以。也可以通过筛选获取。好,写到这啊。三线点get就这么意思一下就行了啊,这这获取select。第二个。获取初始化值。那其实就是我们的斯特。VL。点get in it permit。行吧。啊,这么去获取就可以了。大家先不用去思考,老师你给我讲讲这一坨,我感觉蛮枯燥的,到底有啥用呢?不着急,后面可能就要有应用了,不是后面一会儿就要有应用。
21:00
啊,所以大家先不用担心,先把这个语法先简单看一看。
我来说两句