spring-boot大坑之多模块bean 注入

工作中需要用到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 

好了,就先写到这里,以后发现什么大坑就更新的,大家发现有写得不对的地方请指出,大家一起研究研究。

猜你喜欢

转载自my.oschina.net/u/2356378/blog/1499104