00:00
好,那通过我们前边对spring boot自动配置原理的详细分析来,我们可以给大家得出一个我们以后使用spring boot的最佳实践,我们以后要用small boot开发,诶,那我们遵循这几个步骤就非常简单了,首先第一个我们要开发什么东西,我们先引入相关的场景依赖,比如我们现在要开发缓存或者消息队列,来看spring boot有没有相关的这个场景依赖,或者第三方有没有为我们开发相关的场景依赖,那怎么来找这些场景依赖呢?除了我们引入第三方,第三方会告诉我们,诶他们整合spring boot直接有一个starter很快外,Spring boot官方呢也抽取了我们来看using spring boot也举出了它所有的这个场景依赖,什么什么start,什么什么start,大家在这搜就行了。好,这是我们要做的第一步,引入场景依赖,引入进来以后呢,接下来我们可以来查看through boot为我们自动配置了哪些,但然这个东西呢,是我们开发期间你可以不用关心的,这个是选作对吧,为什么可以不关,不关心的,这都是底层原理,我不想看它了,我就不看了,我开发我的代码就行,但是如果我们想要看它怎么办呢?两种办法,第一种呢,是我们自己分析自己怎么分析,一般性就是我们只要导入了这个场景,然我们导入了外表场景,所有我们来到这个炸包,S boot autoconfi这个包,那我们所有跟web场景有关的东西,它呢都会开启我们的这个自动配置,我们来到web场景下。
01:28
然后呢,外部场景下呢,其实大家会发现什么什么auto configuration,又有一大堆这些东西,难道全部都自动配成吗?但是我们说这个也不一定对吧,所以呢,到底哪些能配成,哪些不配成,你在这儿逐行分析可能有点麻烦,所以我们说第二个办法,那第二个办法呢。自己分析,那一般就是引入场景,引入场景对应的自动配置一般都生效了,那第二个最简单的办法就是B知道,诶,你要分析哪些生效,哪些没生效,那最快的办法在这,我们只需要在application properties这个配置文件里边来写一个debug,等于true,诶,原来呢是false,我们写一个true,就是呢,我们开启debug模式,然后呢,我们来重新启动,我们看会发生什么变化。
02:25
好,我们一旦开启debug模式呢?除了这些乱七八糟我们之前的打印外,我们往上看。好,上边大家看这有unconditional class,哎,我们这个呃,规则没启用的这些class,还有我们的看大家看什么什么什么autoconfiguration它呢,Did not match,它没有匹配,没有匹配到这个条件,所以呢,这个auto configuration它呢功能没开启,大家会看到这一堆的did did not match,就是他们都没匹配,所以呢,人家会把哪些东西,呃,哪些自动配置类生效的,哪些没生效都给你这列举,这些都是没生效的,一直往上翻,只要我们一看did not match,这都是没生效的,所以呢,我们只需要改一个配置文件,Debug等于true,我们就能看到这个自动配置报告,这个自动配置报告呢,我们来一直往上翻,一直往上翻,这个negative,这就是不生效的,所以我们来看一下,我们呢,自己分析或者配置文件中我们来写一个debug处开启自动配置报告中咱们这个de bug等于处我们可以开启。
03:32
开启自动配置报告,自动配置报告里边呢,你看到所有negative的这都是不生效的,然后呢,接下来前边这个negative呢,都是下边的,然后前边这些都是生效的,而且它为什么生效,人家也说了啊,它的这些条件呢,都是OK的,什么都是好的,然后下边的这个呃,Condition的on class,它他们不生效的原因,人家这也说了,所以呢,大家来看我们这些呢,都是生效了,生效了我们来往上翻,哎生效的这一堆其实也挺多的,来往上翻,哎他们呢叫positive,哎也就是这是生效的配置。
04:11
它打印的positive下边的这些都是我们这个生效的自动配置,我们想要分析源码了,那很方便,我们就把我们生效的这些东西来,我们分析一下它是怎么生效的就行了,这就是如果你想要关心源码,你可就可以打开它的自动配置报告,但你不想要关心,你引入了依赖以后,接下来你就想一想,诶我接下来我是不是要修改某些配置项,当然你的这个数据库之类的,你要连数据库了,肯定你得指定账号密码,Boot也不知道你的账号密码,所以呢,你就参照文档修改配置项就行了,那参照文档修改呢?两我们说修改配置项,你参照两个地方,第一个地方我们spring boot官方给我们提取的,在我们的这个附录里边,Application properties里边能配什么,你就照着配啊,这就是参照文档对吧,这是第一种地方,第二种地方就是自己分析对吧,我们自己分析到叉叉叉叉properties他们都绑定了配置文件的哪些前缀,绑定了配置文件的哪些。
05:12
他跟他们的属性跟配置文件前缀这些对应的属性哪些一一对应的,哎,我们就自己改就行了,哎这也是一种,那我们就来参照咱们这个文档,咱们配一个好玩的吧,咱们不搞得这么严肃了,我们来配一个好玩的,比如这个banner banner呢,那就是我们这个什spring boot1启动的,诶就是这个对吧,我们这个半导图,这个版导图呢,我们来可以搞一个半导图,我来打开我的本机。来找一个我们也可以用本机的一个图片,诶,比如我们这个保佑我们没bug的,对吧,把这个bug呢拿过来。然后呢,我们想要改配置呢,非常简单,我们只需要在这儿,那参照我们想要改我们spring boot1启动的这个banner图怎么办?官方文档说,哎,这有一个叫spring spring版ner spring banner image,我们班ner图在哪班的图的,这有一个叫image location对吧,这就是我们的这个location location呢,大家会看到它这呢有默认值,默认值就是找你内路镜下的banner.gif或者我们的这个JPG啊,或者我们的这个图片或PPG都是都行,要说呢,默认你如果类路镜下已经有这个图片,就用你的,如果我们类路镜下我们的图片名又不叫它,所以呢,我们就自己改一下,我们呢是类路径下的谁呢叫bug JPG,好,我们来启动一下,看一下行不行呢?
06:41
哎,我们发现呢,这个没形没形,我们一会儿再来试一下,我们来看啊,也就是说呢,人因为人家这有默认值,默认呢它是找内路镜下的这个名叫班ner的图片,所以呢,相当于给我们告诉了你,如果不配他也会找banner,所以呢两种办法,第一种我把这个图片改成banner来试一下,这种行不行,Do factor啊。
07:07
诶可以了啊,那刚才这个图片可能解析需要一大段,所以呢,我们把这个图片的名改成班,改成它的默认值,或者呢,我们来指定这个路径,如果你不是这个版ner的这个默认值,比如我们就叫222,然后呢,我们来就来指定名字,我们然后呢再把它打开一定是可以的。我们来启动起来。好,我们发现又可以了,是不是?这还得激活一下,如果我把它注掉,那就来到spring boot默认的版图了。我们来看,诶,这是spring boot默认的,我们再打开就成我们的了,这就这就是我们来参照配置文件来修改我们感兴趣的配置项,包括每一个配置项,它是什么意思,在后边呢,也都说的很清楚,他们的默认值,你不配默认值是什么也说的很清楚,这就是我们来参照我们的这个配置文件,我们来改配置就行了,然后呢,最后如果我们想要修改,除了改配置外,我们也可以自定义加一些组件,如果好多东西他给你的这个组件,你通过改配置你感觉都不满意,然后呢,你想要自己添一些功能,额外加一些东西,我们也可以自己添组件,我们使用at being啦,我们以前做过,对吧?An being啦,An component啦,我们都可以把它这些组件给它替换了,因为它的底层就是我用户有的以用户优先,所以呢,这就是我们可以等等等等,我们利用以前spring的这些东西,我们可以替换组件,当然我们的这些修改替换未来还有更多的功能,比。
08:44
比如我们来参照我们的这一块,这一块文档,除了我们这些,呃,是这些叫我们自己弄的外,然后呢,我们还会未来在spring boot中见到大量的有一个东西叫customer,哎,这叫自定义器,所以我们也可以给容器中放一些自定义器来自定义一些规则,比如比如额外的呢,自定义器,我们后来还会专门说它,我们给容器中放一些叉叉,叉叉我们的这些自定义器,把人家已有的这些组件的默认行为我们也可以自定义等等等等,这就是我们未来在不断的深入super boot以后,我们要用的这些高阶特性。那对于我们来说,引一个场景,改一改配置,我们的spring boot就用起来了,但业务逻辑该怎么写,这是每个公司自己的,这也不是我们的讲授范围,好,这就是我们spring boot的最佳实战,大家呢,以后就很轻松快乐的去来用spring boot就行。
我来说两句