在使用hutool工具包的SpringUtil类时会抛出空指针
主要原因是因为在springboo启动的时候,智慧会默认扫描主启动类同级包目录下所有的组件类、配置类,无法将工具包中的类加载到容器中,导致其中的ApplicationContext对象没有赋值,在使用的时候就会报出NullPointerException异常
解决办法一:
在启动类上加上@ComponentScan注解,标注需要扫描的包路径/类路径,
需要注意的是:SpringBootApplication已经包含了@ComponentScan注解,我们再显式的标注的话会覆盖原来的注解,这时候需要将项目主启动类的同级目录也标注进去,不然不会扫描到其他未标注的路径。
解决办法二:
定义一个Config配置类,加@ComponentScan注解,配置需要扫描的包,这里只需要配置自定义扫描的就可以了,不会出现冲突问题
@Configuration
@ComponentScan({"cn.hutool.extra.spring"})
public class CommonConfig {
}
这样就可以解决SpringUtil空指针的问题了,包括一些自定义的工具类包也可以使用这种方式进行引入。