工作中需要用到spring-boot,而之前没有接触到spring-boot ,所以找了个时间学习了下,现在记录一下学习中碰到的大坑。
使用spring-boot 版本 : 1.5.3
项目结构如下
父 pom.xml(springboot中的 pom.xml) 配置如下,只取关键配置
其他模块配置和maven 的多模块配置一样。
大坑一: 打包webapp时,没有把 webapp 所引用的 jar 包打包进来,webapp.jar 中没有包含 service.jar 、dao.jar 导致扫描时找不到类
解决方式: 在webapp的pom.xml 文件中添加如下配置
没有把引用的 jar 包进行打包,就是因为少了图中画出的配置,加上该配置就可以了。
大坑二: 项目启动时,提示找不到 注入的 bean
解决方式: 把启动类 (我这里是 Application.java) 放到项目的根包中,因为 spring-boot 启动时默认从启动类开始扫描的,所以一定要把启动类放到根包中,而且是所有模块(service, dao, webapp)的根包,而且所有模块的根包都要一样。而且建的包一定要与父pom.xml (springboot中的 pom.xml) 中的 groupID 配置的一样,,如下图
图1
图2
图3
包的名和结果一定不能变,否则还是一样扫描不到 bean
好了,就先写到这里,以后发现什么大坑就更新的,大家发现有写得不对的地方请指出,大家一起研究研究。