00:00
好,那么就进入到我们第九章的最后一节profile。啊,那么为什么要把这个profile给它放到我们最后一部分来说呢?哎,一会儿哈,我们讲完了啊,就讲着讲着你就明白了,首先呢,咱们先来认识一下我们这个profile这个单词,它有这个轮廓侧影这么一个含义。所以说呢,就相当于啊,假设我们整个的这个项目哈,就假设这个大方块代表我们一个项目啊,这个立方体它有这个有有需要在生产环境下边运行,有在开发环境运行,有在测试环境运行,这个时候都是诶不同环境下边的不同配置啊,是我们这个项目的不同的侧面。所以这个时候的话,你看这个profile,这个时候是不是就比较好理解了。啊,曾曾经呢,这个profile我也很难去理解它啊,不明白它是这个什么意思,后来呢,就去去详细的去查了一下这个单词的意思,哎,又结合我们平常使用的一个场景啊,大概我觉得我就现在我就基本上明白它的这个意思了。
01:03
那么说项目为什么会有不同的环境呢?比如说啊,这个开发工程是小明它开发模块A推送到,呃,这个是版本控制服务器上啊。然后呢,部署到开发环境服务器上,这样的话呢,小强他就可以用让他的模块B来调这个模块A。因为有可能这个也是我们分布式的微服务的开发啊,它这个通过网络远程的去调用的,这样的话它就可以来调试,根据模块A来调试模块B,很有可能这个时候A呢是个provider b是一个consumer。哎,然后呢,同时呢,在部署到测试环境上边,这个测试工程师呢,就可以访问这个模块来进行测试。那么说为啥开发环境和测试环境还要分开呢,这不都是咱们内部用的吗?这是因为啊测试呢,它比较需要一定的时间呢,他也不是马上就能够测试的,你这个生产环境就是开发环境啊,可能会更新的非常频繁啊,你这个测试工程师如果也用这个的话。
02:06
可能会导致说我这边还没测试完呢啊,还没有生成测试用例,还没有测试完,没有生成测试报告呢,你就已经更新了啊,那你更新了以后,你改了,你内部逻辑改了,那我还得重新测啊,这个时候测试工程师就会很很很难办。最后呢,说测试没问题,部署到生产环境的服务器上啊,然后这个时候终端用户他叫大美丽啊,他就可以来访问我们这个最终的这个项目,所以说最基本的这个不同的环境啊,就有开发、测试,生产这三种不同的环境,哎。当然了,实际开发的时候,在公司里边呢,有可能这个呃,会有很多这个,还有还有很多这个更细分的环境啊,最基础的是这三种。呃,当然这个环境呢,其实也并不是说呢,只一个服务器啊,可能这些东西的话都得这个重新另外去整一套啊。就拿其中买SQ来说,不同环境下边访问参数呢,肯定是不一样的啊,你看这里边主要是这个IP地址嘛,这不幺七这个是八九是吧啊,然后这个是一个什么三九点多少多少是吧啊这个就差的就比较多了哈。
03:13
呃,可是代码只有一套啊,我不能说为每个环境把代码再多复制一份,这个就不合适了啊,呃,那只有代码只有一份,我在同一个文件里边来回改也不好啊,那么就是说很多框架呢,也都提供了profile这样的机制,包括也提供了这个机制,哎,那么你用哪一个环境,我们就激活哪个环境下边的profile就行了。哎,A环境有profile AB环境profile bc环境profile c,哎,你现在是用哪一个环境,咱们就激活哪一个profile啊,那这个时候这个逻辑上就很清楚了。啊,那么接下来我要跟你说呢,虽然我们现在才刚开始正式讲profile,但是我们已经用了很久了。你觉得奇怪吗?啊,为什么这么说呢?因为我们在POM当中,即便你不配置profile标签,其实也已经在用profile了,因为你这个泡沫当中所做的所有的配置。
04:15
这里边哈,所有的配置,相当于就是那个默认被激活的profile。哎,你想是不是,哎,因为总得有一个profile是被激活的呀,你不能一个profile也不激活呀,所以说我们默认的啊,你没有用profile这个外边写的这些,他们就是默认的,哎,Profile。哎,那么也就是说呢,在project标签下边啊,除了model version和这些坐标之外,其他标签呢,都可以配到profile里边。哎,也就是说呢,Profile呀,就是其他运行环境的不同版本的,呃,这个po的配置。对吧?啊,这个时候你好好体会一下啊,去理解一下这样一件事,哎,这样的话你就知道pro里边可以配什么了啊,基本上绝大部分project标签下边,我们之前用过的那些东西在pro里边都可以配啊,都可以配。
我来说两句