加载测试专用的配置类
之前我们介绍了如何在测试类中加载专用的测试属性,这次我们来看如何在测试类中加载专用的测试类。
创建配置类
![在这里插入图片描述](https://img-blog.csdnimg.cn/de785bc891aa43c39d227673bc0c6859.png)
首先创建一个配置类,并且创建一个第三方的Bean模拟这是一个要在测试用例中引用的第三方Bean
创建测试用例
![在这里插入图片描述](https://img-blog.csdnimg.cn/b3d8e35677e04433a574e4d206deee50.png)
创建一个测试类,以及一个测试方法,然后用自动装配的方式将刚才创建的配置类中的第三方Bean装配进去。
然后就是在测试类中引入刚才写的第三方Bean的配置类:
![在这里插入图片描述](https://img-blog.csdnimg.cn/94ba516557314d059938fcc6912b253d.png)
使用@Import注解导入刚才写的配置类,可以一次导入多个,导入之后,这个配置类就成为这个测试专用的了,然后我们运行这个代码,就可以看到第三方Bean中的信息:
![在这里插入图片描述](https://img-blog.csdnimg.cn/9946223aaf994d60b0c9a7fc8efdb4ef.png)
控制台输出了DataSource的信息,表示我们刚才编写的配置类被读取到了
但是
但是这个我发现用了@Import注解和不用,没有区别啊,我们注掉这个注解试一下效果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/48d84d46f61e4bedbbd3f267ef6c2fa1.png)
这个程序依然能正常运行,配置类中的第三方Bean依然被正常的读取到了,这个我就不是很理解。
之前我们使用@Import注解是在SpringBoot的启动程序中,我们当时把多个不同的组件的配置写在了不同的配置类中,在启动SpringBoot的时候要让SpringBoot知道我的配置类的地址,所以用@Import注解将多个配置类都引入到启动类中好让SpringBoot能顺利读取所有组件的配置信息。
但是现在这种情况,这个配置类已经是被加载到SpringBoot容器中了,也就是说在任何的地方都可以读取到这个配置类以及里面的第三方Bean的信息,无非就是你用的时候就设置一下自动填充,不同的时候就不用做任何的操作,不是很理解这个属性存在的意义。但是官网上既然提到了这个配置方式就暂时的试一下记录一下。