需求:创建一个记录操作日志的jar包插件,其它模块可以直接引用
场景:红色框是我创建的插件,里面有aop处理,按道理讲插件引入到其它模块后aop能够生效,可是在实际项目运行的时候aop没有生效。
问题:插件引入其他maven模块后,插件中的注解无法被其它模块中的spring扫描到。
遇到这种问题先分析一下可能出现的原因:
原因一:插件中使用注解所在类的目录,引入其他模块中后不在其spring扫描目录范围内。
原因二:创建插件时,复制了war包模块进行改造的。
仔细看了我的代码后显然不是,我的目录是按照其他目录结构来建的(在创建插件目录时直接复制其它的整个maven模块然后改造的),因此原因一排处。
我的问题就是原因二造成的,在创建maven模块时,为了图省事直接复制了其它模块,但是没有注意jar包和war包的区别,导致后面插件中的注解不能被其它模块的sprng扫描到(后来收到创建一个maven子模块jar,然后放到项目中结果生效了)。