00:00
好,前面呢,我们说了一下at configuration properties和at value的一些区别和用法,接下来呢,我们再来说两个简单的注解,一个叫an property source,还有一个叫an import resource,我们来说一下它俩首先来看第一个and property source,它的作用是什么呢?它的作用是来加载咱们这个指定的咱们这个配置键,这什么叫加载指定的配置文件呢?比如说我们以咱们这个person为例,Person呢,现在是要绑定到我们全局配置文件中,哎,跟person有关的配置的所有值,我用configuration properties,但是呢,它有一个要求什么呢?你的这些配置都是默认写在全局配置文件中的,就说呢,它默认是从全局配置文件中获取值,默。
01:00
从全局配置文件中获取,如果我们后来把所有的东西我都配在这个全局配置文件里边,那可能配置文件就太大了,我呢想把一些跟spring boot无关的配置我想提取出来,那怎么办呢?比如我来写一个person点。Properties properties,我来写一个这个文件,然后呢,我们把application里边跟person有关的配置我都放在这儿,那application里边的呢,我就来主掉,相当于呢,所有的配置我都放在这儿了,为了明显的我把它改成李四,那如果是现在的情况下,我呢,想要来加载我们全局配置文件里边in person开头的值,那肯定加载不到,那怎么办呢?我们就用这个主机叫enter property source来读取指定的配置文件,它里边呢,哎,有一个Y6值,我们这个Y6值,这个Y6值呢,还能写一个数组的方式,然后呢,我们可以加载多个外部的配置文件,哎,我就写class路下的谁呢?Properties。
02:20
好,也就是说,它的作用就是告诉来加载我们类路径下的person properties的内容,并把它们绑定到这个person对象中进行一个测试。好,我们在这呢,来测试一下,看行不行。我们来看一下,哎,我们发现例42这都能读取到,所以呢,这是我们这个注解可以加载指定的配置文件,我要呢,把这个代码我就复制过来。
03:00
复制来,大家呢,来参照一下。接下来呢,我们来说第二个,第二个呢,叫我们这个import resource。Resource它的作用是什么呢?它的作用是导入spring的配置文件啊,让咱们这个配置文件里边的内容生效。比如说,比如我们现在要给容器中啊来加入一个组件,除了那些注解的方式外,我们以前呢,都写的是的这些配置文件,C配置文件等等,我们写一大堆,比如我来举一个例子。我现在呢,在这里边我来创建一个spring的配置文件,我呢就叫BS点插,然后呢,我在这个配置文件中,我们用以前的写法,我来加一个组件。
04:01
哎,At b我来加一个谁呢?比如呢,我来创建一个hello service组件,你在service or像来创建一个叫hello service来,我们创建了这个组项,我呢在spring的配置文件中,我把它加了进来,然后呢,给它一个ID,哎,这都是我们以前的配置,给一个ID我们就叫hello service,那么现在容器中有没有这个hello service啊,是不是你写一个spring的配置文件就自动识别啊,那肯定不是的,我们可以来测一下,看容器中有没有这个hello service呢?我就直接把这个IOC容器,哎,让咱们这个单元测试输入进来,O,哎,这是我们拿到IOC容器,我来测试卡来hello service,我来测试容器中有没有这个hello service。
05:01
怎么测呢?LC点它有一个判断叫鼻音,是不是包含一个鼻音,包含哪个鼻音呢?我们就叫hello service。我们来看一下容器中现在有没有hello service,好,这个呢,会返回hello service,我们就叫service。哎,这个判断呢,会它会返回出false啊,你叫好,然后呢,我们来在控制台打印一下,看我们有没有这个hello service好,我来运行。好,我们看到呢,控制台打印,也就是说我们写的spring配置文件,那spring里边呢,没有没有spring的配置文件,我们自己编写的配置文件,我们。
06:01
我们自己编写的配置文件也不能自动识别。如果说真的想让我们这个配置文件生效,想让我们这个spring的咱们这个配置文件生效加载进来,怎么办呢?我们就需要这个注解,那么这个注解呢,我们把它。它标注在标注在一个配置类上,那我呢,就把它标在主配置上。哎,主配之类,我来呢,标上我们这个注解叫an import resources,在这个注解里边呢,有一个属性叫locations,它呢也是一个数组,也就是说呢,能让我们来加载多个spring的配置文件,那只需要写一个classic class,哎,类路径下的bes插,当把它加载进来以后,我再来运行我们刚才的这个测试,看容器中还有没有这个B。
07:09
走。我们看到现在容器中就有了,哎,所以说呢,它的这个功能就是呢,导入。导入我们这个spring的配置文件。哎,我们用它导入词spring啊,配置文件让其生效,哎,这样呢我们就能用了,这是我们这两个中介,然而在后来我们开发的时候,我们不可能给容器中加组件,我来写一个配置文件,然后呢,再把这个配置文件导进来,这样太麻烦了,我呢把这个注掉,那我们spring boot推荐的方式是什么呢?哎,Spring。BOO。
08:00
推荐给容器中中添加组件的方式,哎,是什么呢?是这样子,首先我们来写一个配置类,这个配置类呢,就类似于我们刚才写的这个配置文件一样,就类似于我们写的这个spring的配置文件一样,好,我们以前呢,在我们的这个配置文件里边,我们来添加be,那我们也是在配置类里边添加B,好,那以前spring的配置文件来给大家放在这。好,但是呢,我们现在不希望这么来用了,哎,我们不来编写。Spring的配置文件了,哎,我们都用全注解的方式,从boot推荐使用全注解的方式,那我们要给容器中加组件,好,我第一个我来先写一个配置类。
09:00
啊,比如呢,我们就来,我就来写一个配置类,这个配置类呢,当然也可以是我们这个主配置类,你可以用它,我呢专门来写一个配置类。啊,所有的配置呢,我都放在文件夹下,我们就叫MY,我们的这个项目的这个配置,那么呢,它要成为一个配置类,就要加上我们之前说的这个注解叫。这个注解呢,告诉这是一个配置类。它指明指明。指明当前类,指明当前类是一个配置类,这个配置类就相当于我们之前的配置文件,哎,就是来替代之前的spring配置文件,那么我们在配置文件里边啊,我们以前呢,在配置文件中,我们是用比影标签来加组件的,用标签。
10:09
并应标签添加咱们这个组件呢,那我们在配置类里边怎么添加呢?来我们在配置类里边呢,我们有一个注解叫at特B应注解,你看啊,B应标签对应B应注解,At特Y6属性对应at y6注解,这其实都是一一对应的,我来点进这个B音注解,它呢能标在方法上,哎,当然也能作为一个圆注解来标注,好我呢就来写一个方法哈,哎,比如呢,我叫哈service,我叫哈service,好,我来写一个方法,它的作用是什么呢?At特并应的作用就是将咱们这个方法的返回值。添加到容器中,哎,添加到容器中,然后呢,那么我们这个容器中这个组件,哎,我们这个组件默认的ID,默认的ID就是咱们这个方法名,方法名,哎比如呢,我们来我来return一个,我们来自己一个hello service,好,我来自己拗一个,把这个hello service呢,我填到容器中,容器中这个组件的名字就叫hello service,我们来可以看一下容器中有没有这个hello service呢?诶注意我们已经不打这个配置文件了,相当于它没用,我们呢是用配置类的方式,诶给里边加了一个组件,包括如果运行正确这个方法呢,也会打印咱们这个配置类按B给容器中添加组件了。
11:55
我们可以来测试一下容器中有没有hello service这个组件。
12:02
测试走,包括呢,我们来看控制台。诶,我们看到这个呢,我们配置类给容器中添加组件了,而且容器中也有这个hello service,而且呢,它用的ID默认就是我们方法的返回值,如果我把service改成SERVICE02,我们再来看容器中有没有hello service这个组件,好来走。来我们看hello service就没有了,而拥有的呢,肯定就是hello service02,这是我们说的,诶我们呢,推荐用这种方式给容器中呢添加组件CTRLC来复制来,那这个东西呢,我们使用ATTB给容器中添加向。把这种方式来注释在这好,其实呢,这个at并注解以及configuration注解,这都是spring注解版里边底层的一些东西。
我来说两句