问题
昨天开发的时候遇到一个诡异的问题,通过Map注入接口下所有的子类,然后json打印出来的时候,没有子类的信息,并且去调用的时候报了空指针异常。
排查问题过长,并且涉及到源码,所以这里先说结论,就是因为map取数据的时候首字母大写导致的。
但是由于业务代码的复杂问题,导致以为注入问题,一直在看源码。
本文可以帮助您学习一下Autowired注解逻辑源码
代码
工厂类
@Slf4j
@Component
public class XyHandleFactory {
@Autowired
private Map<String, XyHandle> xyHandleMap;
public XyCallBackHandle getXyCallBack(Integer subType) {
log.info("subType:{}", subType);
log.info("xyHandleMap:{}", JSON.toJSONString(xyHandleMap));
switch (subType) {
case 101:
return xyHandleMap.get("xyChangeHandleImpl");
case 102

最低0.47元/天 解锁文章
3826

被折叠的 条评论
为什么被折叠?



