zoukankan      html  css  js  c++  java
  • @SpringBootApplication 注解 scanBasePackages的先后顺序导致的扫描失败问题总结

    1、背景


    在一个多module项目的开发过程中,有一个第三方依赖jar包 cn.hutool 中的SpringUtils死活扫描不到,当时的配置情况是这样的

     启动类配置:


    @SpringBootApplication(scanBasePackages = {"com.xx.xx.xx.A", "com.xx.xx.B","cn.hutool"})
    @MapperScan("com.didiglobal.hr.global.platform.dao.mapper")
    @Slf4j
    public class Application {
    public static void main(String[] args) {
    long start = System.currentTimeMillis();
    SpringApplication.run(Application.class, args);
    log.info("Springboot start Success,cost:{}", System.currentTimeMillis() - start);
    }
    }

    EventBus配置:

    @Bean
    public EventBus eventBus() {
    EventBus eventBus = new EventBus();
    Map<String, AbstractBaseSubscribe> beansOfSubscribe = SpringUtil.getBeansOfType(AbstractBaseSubscribe.class);
    beansOfSubscribe.values().forEach(eventBus::register);
    return eventBus;
    }

    启动时提示错误信息如下:

    提示在实例化EventBus的时候出现了空指针异常

    2、最终解决方案

    @SpringBootApplication(scanBasePackages = {"com.xx.xx.xx.A", "cn.hutool", "com.xx.xx.B"})
    @MapperScan("com.didiglobal.hr.global.platform.dao.mapper")
    @Slf4j
    public class Application {
    public static void main(String[] args) {
    long start = System.currentTimeMillis();
    SpringApplication.run(Application.class, args);
    log.info("Springboot start Success,cost:{}", System.currentTimeMillis() - start);
    }
    }

    将 "cn.hutool" 放到了 "com.xx.xx.B" 前解决这个问题,说明 @SpringBootApplication 注解的 scanBasePackages 扫描包有先后顺序





  • 相关阅读:
    Vim+XDebug调试PHP
    JS实现多附件上传(asp.net) 中庸
    ajax+strutsi18n,validate framework(1)
    ExtJS+DWR+Spring+Hibernate开发HRMS(2)
    ajax+strutsi18n,validate framework(3)
    ajax+strutsi18n,validate framework(2)
    ajax+strutsi18n,validate framework(4)
    Java中参数传递的问题
    MyEclipse安装Extjs框架插件SpketIDE
    软件开发企业用人需求是怎样的?
  • 原文地址:https://www.cnblogs.com/myblogs-miller/p/13541349.html
Copyright © 2011-2022 走看看