学习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扫描不到因此无法完成映射。
好了,就遇到这么多问题,后面看手贱程度遇到问题再来更新。第一次写博客,有什么问题欢迎指正。
阅读更多- elasticsearch学习过程中遇到的问题以及处理方式(持续更新...)
- JS实现简易日历过程中遇到的问题和原因以及解决方式。
- spring boot + maven + mybatis 学习过程遇到问题总结(1)
- 近期学习hadoop遇到的问题以及解决方法
- 近期学习hadoop遇到的问题以及解决方法
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- Struts2+Spring 整合成功测试案例--整合过程中遇到的问题及解决方法(一)
- 3D商城服务器开发过程中遇到的问题,原因以及解决方法。。。
- file_put_contents以及file_get_contents的用法与在使用过程中遇到的问题(PHP学习)
- 学习strut时遇到的问题 - Unable to compile class for JSP 错误的解决过程。
- Eclipse RCP使用Spring时遇到的问题及解决过程
- scrapy配置过程遇到的问题以及解决--001
- 【转】EVC学习过程中遇到的错误以及解决办法总结
- scrapy配置过程遇到的问题以及解决--002
- 个人写程序的准备工作 并且过程中所遇到问题以及解决过程(HT合泰单片机)
- opengl 学习过程中遇到的问题与解决
- windows服务发布过程中遇到问题的原因分析及解决方式
- 自己在CODING过程中遇到的问题以及解决(C/VC)
- ssh开发过程中遇到的问题,以及一些解决办法
- asn1c使用过程中的问题以及解决方式