Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.

1.在编写第一个hello springboot项目时遇到的bug。

Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.

警告:你的应用上下文可能没有启动,因为你将注解添加到了默认的package上面了。下面的堆栈信息中也有一句话包括了这个意思。

......This can also happen if you are @ComponentScanning a springframework package (e.g. if you put a @ComponentScan in the default package by mistake)。

情景:在编写第一个hello springboot项目时遇到的bug。创建项目,导入依赖,编写MainApplication.class,运行时报错

2、我的项目结构是这样的(我将MainApplication的文件建在了java文件夹下面)

Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package._第1张图片

3、原因解析

我并没有使用@ComponentScanning注解,这里为什么会蹦出个这样的注解呢?

SpringBoot在编写启动类(Main方法所在的类)的时候如果不使用@ComponentScan指明对象扫描范围,默认指扫描当前启动类所在的包里的对象。

(注意:我在编写Main方法的时候并没有加@ComponentScan注解,因而,他会扫描Application所在的包里的对象)
如果当前启动类没有包,则在启动时会报错:Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package错误。

(注意:写在java文件夹下的Application类,是不从属于任何一个包的,因而启动类没有包)

4、解决办法

方法一、将MainApplication建在其他的包下面

Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package._第2张图片

方法二、在MainApplication类上面加@ComponentScan注解,指定要扫描的包

@ComponentScan(basePackageClasses = HelloController.class)

Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package._第3张图片

参考文章:
https://www.cnblogs.com/gudi/p/7892769.html

你可能感兴趣的:(Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.)