00:00
好,接下来呢,我们来说第五块功能to fair to fair呢,它其实是spring用来做多环境支持的,因为我们在开发测试,包括我们这个运行的时候,我们可能这个配置文件会有一些变化,那么呢,为了方便的我们切换环境啊,我们比如我们开发人员,我们用开发环境,我们项目一发布以后呢,我们用生产环境,测试期间呢,我们用测试环境,为了方便的切换呢,我们门部它提供了啊功能,这个profile功能怎么用呢?第一个我们在写配置文件的时候,配置文件后边可以杠加上我们这个环境标识,所以呢,第一种可以用多profile文件的方式,所呢,我们在主配置文件配置。主配置文件编写的时候。文件名,文件名可以是咱们这个application杠,咱们这个,比如说呢,我们这个啊,我们这个设置点proper proper。
01:11
配或者呢是压面都行,那呢我们可以带上这个profile标识,然后呢,我们就可以动态来切换,比如我举一个例子,这时候呢,我的这个主配置文件,哎,它的这个端口号呢是8081,然后呢我写一个配置,我叫application杠,哎在开发环境下properties在开发环境下呢,我也来设置一个端,比如呢,我叫8082,然后呢,我再来写一个配置文件。哎,我们叫application,加上标识,我们叫生产环境。这个标识呢,就是自己来随便定义就行了,好我在生产环境下呢,比如我们这个端口号叫八零端口,好我们现在呢,相当于配置了不同环境的配置文件,那默认起效的是哪个呢?哎,我们来测试一下,我来启动WB应用,来看它用的是哪个端口。
02:16
诶,我们来看一下,它现在呢,用的是默认的8081,哎8081,比如说呢,我们可以创建多个这个文件,然后呢,默认使用咱们这个application第2PROPER。咱们这个配置。那么何时我们这个开发测试,包括呢,我们这个生产环境可以得到运行呢?哎,我们可以用第一种,我呢在这个默认配置文件里边,我来说,我来说什么呢?我来说叫。点。有一个叫active激活,我来激活哪个环境,我来激活,哎,我来激活咱们这个开发环境,那我再来启动一下我们这个开发环境的配置文件,就会被激活使用,那么我们看到端口号就成了8082,说呢,我们要激活指定补费,那第一种方式,哎我们呢在配置文件中指定,哎指定什么呢?指定我们要激活哪个配置。
03:29
来指定它,好,这呢是我们第一种方式,我们写多fair文件的方式,那我们来激活使用就可以了,当然如果我们用压面文件作为配置文件的话,它还有一个更简单的方式叫多文档块,比如说呢,假设呢,我们以压面作为主配置文件,那好我们把以前的这个什么div的这些我们来注掉啊,为了不影响我们这个期间,我把这俩注掉,以前呢,我们需要写两种配置文件,哎,两种环境的配置文件在这儿指定激活,用它指定激活,那这个呢也注掉,现在呢,我们来写一个压面文件,这压面文件呢有一种语法叫文档块,然后呢,当我们在用三个横线回车以后,我们会发现,诶上边呢叫DOCUMENT1,下边呢叫DOCUMENT2,如果我们能再回车,那再在下边,我们就在这回,再在下边,那么这一块呢,是。
04:30
DOCUMENT3DOCUMENT4,然后呢,这块我们能分成很多文档块,那好我们呢,就用这些文档块,我们来定义每一个数据,比如我们第二个文档号,我还定义咱们这个端口号,这个端口号呢,我来定义成。8083好,那第三个文档块呢,哎,因为这有注释,我把这个注释删掉,要不然的话,哎,它老影响我们这个写代码,好,然后呢,第三个文档块,我定义端口块是8084,但是呢,我们来说8083是什么环境,我们可以写一个配置叫S,我来说它是dev环境,然后呢,我们用8084呢,我也可以来说它叫环境,那我们相当为每一个文档块,我来定义它是什么环境下的东西,那我们要怎么激活呢?我们就可以在上边的文档块上。
05:33
我们来说一下active,哎,我来激活什么?我来激活我们的E,那如果我们不写激活,那默认肯定还是8081了,现在我来激活第一位,如果一切正常,那就是8083来启动一下。我们来看一下是不是8083呢?哎,确实是,那我来切换一下激活,我来激活的是product,我来生产环境,那它就变成8084了,来启动一下。
06:09
8084,然后呢,当我们这个环境生效以后,这个文档块里边所配置的这些代码才是生效的,然后呢,我们可以使用压面里边的文档块模式。这个就更简单一点,我们不用写那么多的配置文件了。好,我们使用这个文档块模式,好,这时我们这种方式,如果我们要激活,我们都是使用咱们这个配置这个激活,当然我们还有另外一种激活办法。就是我们的命令行方式来,我们也可以用命令行的方式激活命令行怎么激活呢?就是说我们在运行的时候,我们来给它指定我们用杠杠active等于什么东西,哎,我们来激活指定的咱们这个。
07:03
配置文件好,那么呢,我现在以命令行的方式,这个命令行呢,你可以这这么来测,比如我把它停掉,然后呢,我们虽然在这说激活的是啊,咱们这个product产品环境,然后呢,我在这来配一下,配一下呢,这有一个S来指定一个叫杠杠点fors,点我来给你新指定一个,我来指定呢,让你用模式,哎现在呢,它在这虽然指定的是prod,但是呢,我们现在用dev,如果用dev那就是8083,我们用这种方式来运行,点个OK,好我再来运行。那呢,运行的时候我们给它加了命令行参数,哎,那么呢,我们这个dev相当于就激活了,你这一块看着是prod,但是我在命令行运行的时候给你改掉了,让呢我们用这种方式也能激活,这种方式呢,只是我们在这配的时候啊,大家注意哎,你需要呢,在这一块来配参数,包括如果不在这一块配,还有一个办法,我们这个项目最终会被打包,我们来看一下。
08:16
我们呢,就让他打包打成一个package这个包。来,我们让他打包,他最终打包完成以后呢。我们来看一下,稍等。好,它打包完成,打包完成呢,在咱们这个target目录,哎,我们这有一个target目录,我就右键啊收in。那们这个target里边呢,有我们这个打成的这个炸包,我来CMD,我用命令行的方式执行,我把这块呢先停了,命令行呢是Java杠。
09:02
我们要执行什么呢?我们要执行我们这个炸包叫。Boot,哎,我们这个这然后呢,我们可以用命令行的方式,哎杠杠,我们来指定spring.films.nch好,我呢现在来指定,因为我们这个打包默认是prod环境是8084,我现在指定让你用8083端。好,那指定呢,用咱们这个第一我来回车。现在spring boot启动,如果指定按照我们这个,那它就应该在8083端口启动来看,诶没问题,8083,所以呢,命令行其实呢,应该是这个操作。好,然后呢,我们来放在这命令行的方式,当然我们可以在测试的时候,我们不用打包,可以直接直接在测试的时候啊,我们配置传入命令行参数,命令行参数,哎,主要这个配置呢,就是在我们这一块来点一个edit修改,在这个projects里边来写这我们这种命令行参数,另外呢,我们还有另外一种叫虚拟机参数。
10:23
因为呢,我这个虚拟机里边直接来运行的时候,来带一个参数来看一下啊,那这个虚拟机参数呢,我还是在这配这个programs,这是命令行参数,那虚拟机这有一个叫option来设置一个参数叫杠,这是固定写法,虚拟机参数杠定什么呢?那就是spring.S。点。还是一样,我们来指定,虽然说它指定的是prod,但是呢,我们来给它重新来指定,用dev来进行运行。
11:01
好,我点一个OK来,现在呢,我们有虚拟机参数了,我来运行起来。这样呢,它也是用模块。哎,我们来看这个虚拟机参数呢,它说这个端口已经被占用了是吧?哎,我们这个外边在这儿启动,那能说端口被占用,说明它确实用了8083把外边关掉,先再来启动一边。哎,我们看到8083也可以,所以呢,我们可以在调节虚拟机参数,也就是说杠d.s.K哎,我们来要激活哪个,我们来设置一个,然后呢,我们每一种配置在这来指定属于哪个环境。他呢是来指定,指定属于哪个环节。然后说相当于我们这个文档块整个的配置都属于它,那我们这个文档块整个的配置属于它,然后呢,我们用这几种方式都可以来激活我们的。
我来说两句