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 扫描包有先后顺序





  • 相关阅读:
    94. Binary Tree Inorder Traversal
    101. Symmetric Tree
    38. Count and Say
    28. Implement strStr()
    实训团队心得(1)
    探索性测试入门
    LC.278. First Bad Version
    Search in Unknown Sized Sorted Array
    LC.88. Merge Sorted Array
    LC.283.Move Zeroes
  • 原文地址:https://www.cnblogs.com/myblogs-miller/p/13541349.html
Copyright © 2011-2022 走看看