SpringBoot框架时碰到的问题(一)
转:https://blog.****.net/qq_15071263/article/details/78459087
1、在搭建SpringBoot框架时碰到的问题。
** WARNING ** : 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)。
(启动的时候还有其他的错误,这里只摘录跟这个相关的错误。)
2、我的项目结构是这样的(我将Application的文件建在了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、解决办法
方法一、将Application建在其他的包下面
方法二、在Application类上面加@ComponentScan注解,指定要扫描的包
我按上述加了@componentScan,但是还是包上述错误,,,,,根据上面说的启动包的路径.于是发现自己的启动类没有package
于是添加了对应的package.启动即可.
同样的我把@componentScan注释掉.同样是可以的.....猜想spring boot默认的componentScan是当前路径吧(待验证)
package