赞
踩
遇到的问题:若依自定义模块无法自动注入,找不到新增模块的bean
原因:springboot默认注解扫描为启动类同级及其子包(不同模块但是有相同的包名也属于同一个包)。如果两模块(新增模块与启动类)的包名不一致,注解扫描不包含,就会扫描不到新增模块的包,无法找到bean。这时,需要指定注解扫描的包,才可以自动注入找到bean。
解决方案:在RuoYiApplication启动类上面加入注解扫描。
//注意:加入ComponentScan后默认扫描机制会失效,所有要引用所有包
@ComponentScan(basePackages = {"com.XXX","com.XXXX"})
/** * 启动程序 * * @author ruoyi */ @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) @ComponentScan(basePackages = {"com.XXX","com.XXXX"}) @MapperScan(basePackages = {"com.XXX.mapper"}) public class RuoYiApplication { public static void main(String[] args) { // System.setProperty("spring.devtools.restart.enabled", "false"); SpringApplication.run(RuoYiApplication.class, args); System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" + " .-------. ____ __ \n" + " | _ _ \\ \\ \\ / / \n" + " | ( ' ) | \\ _. / ' \n" + " |(_ o _) / _( )_ .' \n" + " | (_,_).' __ ___(_ o _)' \n" + " | |\\ \\ | || |(_,_)' \n" + " | | \\ `' /| `-' / \n" + " | | \\ / \\ / \n" + " ''-' `'-' `-..-' "); } }
例如:
(1)、ruoyi-admin模块中包名为com.ruoyi,新增ruoyi-new模块中包名也为com.ruoyi,则两个模块为同一个包;
(2)、ruoyi-admin模块中包名为com.ruoyi,新增ruoyi-new模块中包名也为com.new,则两个模块包名不一致,需要添加注解指定扫描的包,添加
@ComponentScan(basePackages = {“com.ruoyi”,“com.new”})
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。