1.问题
今天在学习新的尚硅谷SpringBoot 2.X版本的时候突然遇到了一个问题,需要测试从容其中获取组件的功能。测试方法是在主程序类中使用run.getBean()方法,但是当我调用run的时候却发现输入run之后,系统并没有提示任何有用的信息,这说明系统里并没有这项功能。
2.检查
在发现系统提示的错误信息后,我立即开始查找问题的出处。一般来说,如果没有引入对应的依赖,自然不会提供我们需要的方法。于是我检查了一下
发现并无异常,再对应一下main()方法中的代码,终于找到问题的出处了。
一般我们创建Spring Initialier的时候,会默认帮我们设置好主程序类中的main方法,但是如果要调用run里面的方法需要把main方法里的启动主程序这一行代码改成如下:
ConfigurableApplicationContext run = SpringApplication.run(SpringBoot04ConfigApplication.class, args);
它需要引入的依赖是
import org.springframework.context.ConfigurableApplicationContext;
这样就可以从容器中获取组件了。