背景
先来说一说遇到的情况吧,最近自己负责的模块中需要用到redis缓存,而这个缓存是另一个模块存入的,现在自己的模块需要使用这个缓存,本来准备自己引用redis的starter,但是遇到了问题,自己写的代码无论如何也取不出redis中的数据,最后发现是序列化的问题,看了一下公共模块的序列化代码,懵逼,就去问了问老大,结果redis这一块他已经写成了一个公共模块了,我只需要引入这个模块的依赖就行了,就可以使用了;本来看似很简单的一件事情,最后的结果却出人意料,无法使用公共模块的;本篇文章就说明无法使用公共模块的问题;
正文
项目结构
我做的这个模块是一个单独的项目,一个使用springboot构建的微服务,公共模块只是一个普通的Java项目,可以看成一个jar包,我这个模块只需要在pom中引入依赖就可以调用;
遇到的问题
项目中无法注入该公共模块的任何类,在调用时全部都会报空指针异常,而序列化的代码都是写在公共模块的,只能去找原因了;
解决
因为全部都是报空指针异常,在之前的项目中也遇到过一个类似这样的题,当时也是无法注入spring容器中的bean类;当时是使用new的方式构建的类无法注入spring容器中的类,