00:00
所以呢,我们来打开我们的。后端代码,然后在我们后端代码的SRB里面呢,咱们新建一个model。在这modu里面呢,咱们选择选择next,然后在这面呢,我们啊。给这个短信微服务呢,起一个名字哈,啊,比如说之前我们那个名字呢叫car,那现在呢,我们就叫service SMS。好,我们点finish。好,那这个service SMS呢,就创建好了,创建好了之后呢,我们把呃,检查一下咱们的笔记当中有没有需要引入的泡沫。在这个地方呢,我们把这个碰一下啊。看一看啊,它是让我们在什么位置引,在SMS里面引哈,别引错位置,然后接引进来之后呢,我们再创建一个application email。
01:11
好,然后接下来呢,在这个application里面呢,我们把这个给它复制进去。好,然后呢,复制进去之后呢,我们确认一下这个每一个部分的内容,比如说第一个呢,这块我们是8120,就是我们的服务端口了,那前提呢,是之前我们已经把这个8120是不是配置到了N这这个服务当中啊,所以大家一定要检查一下你N这当中配的那个端口号8120有没有它啊,我们提前已经配好了,然后这边呢,是DV环境设置,然后接下来呢是服务名。啊,Service SMS对吧,没有这个选项啊,你必须得写,你像spring profiles active,你必须得写这几个字,好后面这个是我们自己定义的。
02:02
注意是我们自己定义的啊。也就是说你怎么定义都行,只要呢,是符合这样的一个层次规范的就行,然后后面呢,我们会在程序当中呢,把他们动态的通过一定的方式给它获取进去。我就把这个写过来。Kidd啊,然后这款呢是key。好,然后模板呢,扣的呢,我们上我们这扣的里面拿,然后大家也是一样的申请,嗯,有就是我记得上个班有同学说申请好像有的什么不好申请,申请不下来还是怎么回事,你要是能申请下来,你就用你的就行,因为你用你自己的,你可以在你自己这里面查,对吧,你还有那个可以申请免费的套餐,你要是有的同学实在申请不下来,那就用我的就可以了,因为我这个里面账户里面还有一些钱哈,有几十块钱,反正够你们用的了,每个班同学也花不了多少钱啊,有有每班每有有同学申请不下来,他就用我的,用我的大家一定要注意,你要是用我的,你就完全按照我的来,就是PID key secret templ code和s name就必须全都得用我的,明白吧,你不能你用你自己的PID和key secret,然后用我的模板和签名,这样的话他不配套,他也发送不了啊,所以呢,如果大家自己没申请下来,就把我这一套拷过去就可以了,然后呢,我给你们这个把它写完整了叫。
03:25
B。然后扣的。厚的是这个哈,它复制过去。好,这样的话呢,我们的配置呢就写好了啊,配置写好了之后呢,其他的一些,比如说car这个里面我们拿过来一个log bag啊,把它复制一份,配置方式都是大同小异的,所以这边我们就不详细说了,把它拿过来之后呢,这块改成SMS,放到不同的目录下,把这个录制好,然后接下来呢,我们再写一个启动类,就是在这个里面写一个启动类,这启动类呢也可以参考,比如说就参考它,对吧?啊,那当然了,我们得把这个包写上。
04:12
写一个包啊叫SMS好,然后呢,这个把它复制过来,我们给它起个名字呢,叫SMS。然后这面呢,我们,嗯,Come艾特硅谷s rb come艾特硅谷common对吧,这都没问题,然后呢,这个里面先刷一下啊,先确保这个SMS底下的依赖呢,都加载进来了。好,然后并且呢,大家看这面啊,现在呢,我的这个当前的这个工作空间下呢,已经有两个微服务了,有两个微服务呢,它就给我弹出来一个services的这么一个提示,他说你现在呢,已经有multiple spring boot,已经有多个spring BOO的这个配置啊,已经被运行启动起来了,然后他问你要不要去打开一个services的一个面板,然后能方便的你去啊对多个微服务进行操作,那一般情况下呢,我们都会选择这个同意的啊受好这样的话呢,就会打开这样的一个services的微服的面板,然后这个里面呢,就会有我们多个微服的一个呃,启动项列表在这个地方列着,好,然后呢,我们这个刚刚创建的这个新的微服,因为还没有运行过,所以这面呢先暂时没有,我们先给它运行一下,当然运行之前呢,咱们得先把这块给它改,对哈,叫SMS对吧。
05:36
好,然后呢,这块我们就就基本上就写好了,写好了那我们现在创建的就是基础的内容,我们首先创建了一个SMS项目,然后呢在po里面配了依赖,然后呢配置了application ma,对吧?啊把这个下面的这个改成实际的,然后呢拷贝了一个low back spring,接下来呢,又写了一个启动类,到这为止,我们可以测试一下这个项目能不能启动成功,如果能启动成功,你再往下做,如果启动不成功,你就排错哈,所以右键。
06:15
然后这样的话呢,成功了之后呢,我们就。开始做下面的内容。啊,最下面的内容呢,就是我们来看一下,我们已经做到这个spring布的启动了,然后我们看一下这个自定义配置,自定义配置的话呢,呃,这个从配置文件读取常量。就是工具包,然后在这个工具包下面呢,我们创建一个。专门来读取这个配置文件的一个工具类,我管它叫SMS properties好回车,然后再接下来呢,我在这个工具类里面呢,去定义几个属性,这几个属性呢,大家注意它对应的呢,就是我们配置文件里面的这几个配置项,那我们先来看一下配置文件里面的这几个配置项,叫region ID piiddk是吧,这几个配置项啊,好就这几个项,这几个项目呢,我们分别给它定义成成员的形式,那如果定义成成员的形式,对应的就是这样,它的这个,嗯,编码风格呢,有一个就是如果这面是中华线ID的话,这面呢,你就写瑞珍ID就行,回头它会自动匹配过来啊,当然了,如果这边是于ID呢,你配置文件当中,配置文件当中你也可以直接写ID,它都可以自动匹配啊,那不直接写region ID的话呢,写一个中华线就跟咱们上面。
07:46
这个风格是一样的这种风格,比如说max active这种风格呢,它实际上在呃,这种程序当中匹配的是这个驼峰式的这样的一个变量,明白吧,啊好,那所以咱们也满足这个啊,这样的一个编码风格,然后所以呢,在这个properties这个里面呢,我们就都对应给他,把相应的这个变量给它写上,这样的话,后面呢,我们就可以找相应的方法去做。
08:14
啊,这个数据呃的一个获取了,然后怎么去获取呢?上面这个位置我们写一个。Configuration哈,Properties叫做啊,专门去读取这个配置文件的这样的一个配置项,那这个专门去读取配置文件的配置项,你得指定一下我要读配置文件的哪一部分内容,所以这块呢,有一个叫f fix的这么一个属性,这个属性里面呢,我们可以配一个值,这个值呢,就是你这配置文件,刚才咱们不是针对这几个写了变量嘛,明白吧?啊,那这样的话呢,我们就可以从配置文件当中读取这个前缀的所有的这个属性了,啊就是这样的一个方式,然后呢,为了我们,我们为了让咱们的这个啊应用程序呢,能够在啊咱们的这个。
09:11
呃,Spring容器当中自动的被呃创建出来,那我们呢,在这个地方可以写一个。Component啊,可以写一个component这样的一个注解,好,那这样的话呢,我们的呃,Spring应用程序当中就可以自动创建这个类的对象了,并且呢,根据这样的一个参数呢,啊,或者说根据这样的一个配置项呢,去自动的去组装它这个里面的这个值,当然了,组装的过程呢,它要调用里面的一个get set方法去去去给他设置,所以呢,我们可以给他写一个set,这样的话呢,其实它内部呢,是调用所有属性的set方法啊,进行值的一个设置,设置完了之后呢,我们希望就是因为它是个变量的形式啊,或者说成员变量的形式,我们希望呢它呃未来呢使用起来更方便,我们呢,可以给它定义成常量的形式啊,定义成常量的形式呢,我们就可以可以写这个,写这个啊,写这个之后呢,我们就希望呢,当我们的配置文件啊,也就是说当现在的这个配置文件被spring容器初始化了之后。
10:19
后,然后呢,又被spring,呃,这个上下文对象从配置文件当中获取到了这个值,并且这个值已经被赋值之后,我们再给它赋值。明白吧,什么意思呢?就是现在这个值的负值是不是由这个注解帮我们做的呀,Spring容器一启动,然后呢,Spring容器呢,就加载这个对象对吧?加载完这个对象呢,这个对象里面呢,它因为有这个注解,他就拿着这个注解呢,去配置文件当中去找,去找这几个节点啊,找到这几个节点了呢,就把这几个节点的值呢赋值给它,赋值完了之后,我们再把这个它们的值赋值给它。啊,然后接下来以后再用的时候,我们就直接可以SMS properties点它啊,通过这种形式呢,来使用这里面的常量了哈,这里面的一个问题是什么呢?就是。
11:11
什么时候叫赋值之后你怎么去,你怎么去确认这个时间点,是我们写一个方法给它赋值吗?比如说public。然后Y的塞Y6是吧,然后呢,比如说我给它赋值,那可能我就这个意思呗,等于它这样的话,它不有值了吗?关键的问题是这个东西你啥时候执行。啊,我们执行的时机呢,就是必须这些值已经被自动的被spring容器填充了之后,我们再执行,但是什么时候spring容器自动的会填充它,这个是我们其实不了解的,那怎么做呀,这里面有一个技巧啊。有一个类啊,一个接口employ叫initial b,这个LAB呢是一个spring当中给我们提供的一个接口,这个接口里面呢,有一个啊抽象方法就叫做after properties set,大家看是不是叫做当properties设置完成之后啊,所以这个就是这个东西被设置完成之后会自动调用的一个方法,明白吧?啊,那所以呢,我们就可以在这个里面。
12:33
给这些常量赋值啊,那赋值的过程我就不一一写了,就这样赋一下就行了,好吧,啊,这是复制,然后回头,嗯,为了方便我们去做这个。嗯,取值用吧,就是这个啊,这个它在嗯整个取值赋值初始化的这个内部,其实呢,它不但要调用它的赛的方法,还要调用它的get方法,所以我就把它写上了,要是不写的话,回头运行是有问题的啊,或者说你直接写个data,它是不是也行啊,都可以啊。
13:10
好,所以这块呢,是我们整个的这个,呃,工具类的一个使用,好,那这个工具类写完了之后呢,我们可以去啊测一下啊,怎么去测一下它呢,在测之前大家看上面有个红色的好像是错误信息似的是吧,这个大家先不用管,这个明天我会给大家具体的去讲,当然了你也可以参考笔记,笔记里面也对这个内容进行了说明,因为呃,可能一两分钟解释不明白啊,所以今天的时间不太够,所以这个上关于上面这个红色的调了处理,我明天讲大家也可以课下先看笔记,然后呢,我们就先把这块越过去,我们先对这个东西做测试,因为这个地方的红色标记不影响我们代码的运行,它并不是我们的编译错误啊,好,更不是运行错误,所以呢,我们就先来看一看我们当前的这个配置文件啊的一个读取的这么一个工具类啊,它是不是可以使用的,那我们在T里面的Java里面呢,写一个package。
14:11
好在这个package里面呢,我们去。创建我们的一个包吧,叫com点艾特硅谷点SRB.sms然后在这个Java这个包里面呢,我们写一个,嗯。YouTube吧,Test好,专门做工具测试的,然后上面这块呢,我们也是一样,叫做spring good test,然后这块呢,我们写spring with spring,嗯,Spring runner.class然后在这块呢,我们写一下test啊,然后这块呢是public test robertties啊,然后接下来呢,这里面呢,我们就做测试,怎么测呢?其实就是s SM properties点看看那几个参数能不能拿到,能拿到就没问题,对不对啊好,那我们就依次的把这几个参数呢,一共是几个看一看啊。
15:23
瑞珍IDPID一共是五个是吧,那一次能把这五个拿到就可以了。所以嗯,从这面粘吧。嗯,从这边站啊region ID ID,然后还有ID,对,然后key ID,然后呢是key secret,然后呢是template code。好,然后呢,还有一个是S好这样写,那这样的话呢,我们来右键测一下,看能不能拿到。
16:13
好,这样的话呢,我们就。把这个全都拿到了,是不是就说明我们这个工具类是创建成功了啊。
我来说两句