Your|Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.
1.在编写第一个hello springboot项目时遇到的bug。
【Your|Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.】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文件夹下面)
文章图片
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建在其他的包下面
文章图片
方法二、在MainApplication类上面加@ComponentScan注解,指定要扫描的包
@ComponentScan(basePackageClasses = HelloController.class)
文章图片
参考文章:
https://www.cnblogs.com/gudi/p/7892769.html
推荐阅读
- Spring|BeanFactory和ApplicationContext有什么区别
- 笔记|BYOL(Bootstrap your own latent A new approach to self-supervised Learning)算法笔记
- Git更新本地仓库及冲突"Commit your changes or stash them before you can merge"解决
- DBA|Chapter 1 Securing Your Server and Network(5):使用SSL加密会话
- 90天30个TED演讲|90天30个TED演讲 - Day 25: How to get your ideas to spread
- your|your choice
- Can|Can you express yourself freely
- NSCache
- Unable|Unable to add window -- token null is not valid; is your activity running?
- android-studio Emulator: PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value