最近,自己也有遇到个问题。
具体是因为我写了个插件,然后系统使用 SpringFactoriesLoader.loadFactories(PluginService.class, null) 这个方法去加载插件,然后我写的这个插件里面需要去查 MongoDB 的数据,但是却无法自动注入 MongoTemplate 。我试了好几种方式, 有试过直接 @
Autowrited , 直接 new ,插件类实现 ApplicationContextAware 类,在类里面 去获取当前容器的 WebApplicationContext ,然后去 getBean 获取实例。
但是这些方法都会报空指针问题,最后是通过写一个静态类去实现 ApplicationContextAware 类,然后在插件类中去获取 ApplicationContext ,在 getBean 。这样就解决了。
这个可能是我最近一年内卡的最久的问题了,还是 Spring 不熟。
如果我面试讲个差不多这样的,会不会太 lowl 了,反而让面试官觉得我很垃圾