学习SpringBoot过程中遇到的问题以及解决方式

昨天学了点SpringBoot的内容,感觉超级简单,忍不住就想动手来试试,结果遇到各种问题,所以在此总结一下.......

1.我使用的是eclipse自带的模板(需要安装sts插件),创建项目之后,maven开始下载jar包,我手贱,下载到一半把项目删除了,再次创建项目后,pom.xml文件开始疯狂报错,然后update maven和clean project都没效果,无奈之下只好把maven本地库全部删除了重新下载,其实这属于maven这边的问题了,主要是报错太多我才全部删除,如果只是一两个可以针对性删除然后重新下载就好了(不想整个库删掉,不知道有没有其他办法,有的话请在评论留言)。


2.上面的问题解决之后,我写了个controller来测试是否搭建成功了,然后在启动的时候出现了以下信息:

***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.

If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

这又是什么鬼呢?好吧,数据库资源文件配置失败,我还是手贱,在项目创建的时候加入了数据库的相关包,但是我又没有配置相关信息就直接启动了,@SpringBootApplication注解中有一个很重要的注解,那就是@EnableAutoConfiguration,它的作用是开启自动配置,SpringBoot检测到数据库jar包时会加载数据库配置,结果发现没有,就会出现上述情况。

这个问题要解决也很简单,只需要在@SpringBootApplication或者@EnableAutoConfiguration注解后面加上(exclude= {DataSourceAutoConfiguration.class})就OK了,意思就是数据库的相关信息我没配,你也别去找了.....



3.接下来开启我的手贱模式第三弹,可能是因为太久没撸码了,我居然想在@RestController注解后面添加value来作为当前controller全局映射路径,结果自然不言而喻。

把value删掉添加一个@RequestMapping注解就可以解决这个问题。


4.手贱第四弹是不存在的,但是为什么我在启动的时候会有一片红字警告呢?如下图:


这个锅我不背,是因为Java版本的缘故,Java8以上的版本(9和10)都有这个情况,我用的是Java10,这个警告忽略就好了。


5.补充一点,中午忘记说了,项目刚创建的时候启动成功了却访问不到controller中的方法,一看后台日志路径并没有映射成功,这个问题是因为一开始启动类我是放在了A包中的,然后我新建了一个B包,controller在该包下,因此映射失败。解决办法就是把启动类放到同级或者上一级包路径)。

接下来我们来看看为什么需要这么做,上面有说过启动类的@SpringBootApplication注解中有几个重要的注解,之前有说到@EnableAutoConfiguration注解,还有两个比较重要的注解分别是@SpringBootConfiguration和@ComponentScan,这次又是谁背锅呢?没错就是你,@ComponentScan注解,字面意思理解是组件扫描。相信搭建过ssm框架的童鞋都记得在配置文件里会配置一个包路径扫描,这个注解就是这个作用,扫描该类(也可以指定为其他类,使用basePackageClasses)当前包目录以及其子包下的所有类交给Spring管理,而我的controller在B包下不处于启动类同级也不属于其子包,Spring扫描不到因此无法完成映射。


好了,就遇到这么多问题,后面看手贱程度遇到问题再来更新。第一次写博客,有什么问题欢迎指正。

评论 1 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

Greydon_yu

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值