springboot、springcloud引⼊其他模块的包,⽆法扫描注解的解决⽅案在多模块的项⽬中,有时候需要引⼊公共类,在pom⽂件中引⼊依赖:
<!--公共模块-->
<dependency>
<groupId>com.suyongxiao</groupId>
<artifactId>tool</artifactId>
<version>0.0.1</version>
</dependency>
但是引⼊后,公共模块的注解不⽣效,如⾃定义注解,甚⾄@Autowired等都不起作⽤。
解决⽅案如下:
springboot结构1.通过包扫描
在application启动类的注解上,scanBasePackages ,这个注意要加上⾃⼰本⾝的路径
@SpringBootApplication(scanBasePackages ={"ample"})
2.使⽤@import注解⼿动导⼊需要装载的类
package;
import Configuration;
import Import;
/**
* 此类⽤于导⼊公告包(tool)的⾃定义切⾯
*
* @author 放飞的承诺
* @since 2021-09-03
* */
@Import({
//这⾥就是填写需要装载的类
HttpLogsAspect.class,
SqlOperaLogsAspect.class,
AsyncLogs.class
})
@Configuration
public class ImportAspectConfig {
}
3.推选解决的⽅案
application启动类默认扫描它⾃⼰下⾯的包,所以不要把application.java放到最顶层,参考下图的⽬录结构进⾏创建就可以扫描到