springboot使用德鲁伊DruidDataSource数据源启动报Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.6.0

这个问题纯属细节问题,但是错误提示太模糊所有找不好找.在命令行中查看异常信息会发现Unsatisfied dependency expressed through field 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Invocation of init method failed; nested exception is java.lang.NullPointerException 这个错误.

还有在启动日志中有ERROR 6616 --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} init error.

我的理解是bean创建错误,所有一开始我以为是我这个方法哪里错了,但是怎么看都没问题,上网搜了一大堆找不到跟我类似的.后来我将数据源缓存commons-dbcp的,这提示明显了,提示要注入的bean找不到,上网搜了,就看了一个词才恍然大悟,[扫描].原来是没有将该类的包纳入到扫描器注解,将包加到扫描器,问题解决.数据源换成德鲁伊的也没问题了.

回想起来觉得看视频学习还是建议视频保持一致吧,我是看着视频做的,选择才想起来视频的老师是将扫描类放到前面去了(其他包都是它的子包),我一开始为了试试ComponentScan注解的basePackages参数所以将扫描类跟控制器分开了.视频中没见他配置扫描包,所以他做一切正常,就出问题.

你可能感兴趣的:(spring,boot)