经历一个idea开发的多模块项目开发。新建模块总访问不了基础公用模块中的bean、aspect等注解配置的相关信息。困扰了很长时间,后来发现是不了解SpringBoot注解扫描范围约定,将新项目的Application.java入口文件在包中放得过深。
附:SpringBoot注解扫描范围约定
SpringBoot项目的注解扫描默认规则是根据Application类所在的包位置从上往下扫描!
“Application类”是指SpringBoot项目入口类。这个类的位置很关键。如果Application类所在的包为:com.iteye.wallimn,则只会扫描com.iteye.wallimn包及其所有子包,如果service或dao所在包不在com.iteye.wallimn及其子包下,则不会被扫描!
如果Application类放在com.iteye.wallimn.app包中,那么与app的同级包、叔叔包是不会被扫描的。
原文 http://wallimn.iteye.com/blog/2392190