在Spring里如果你通過AplicationContext獲取Bean實例皮假,你拿到的可能是一個被Spring代理的對象實例鞋拟,如果你需要獲取這個代理對象的目標(biāo)類Class該怎么做呢?
也許你百度了半天找到的解決方案大都是要自己寫上一大段蹩腳的代碼钞翔,忘了那個過時的方案吧,只需要調(diào)用Spring的AopUtils布轿,一行代碼搞定哮笆。
AopUtils.getTargetClass(yourObjectInstance);
這種場景Spring內(nèi)部肯定經(jīng)常需要,用Spring自己的解決方案才是最合理的選擇汰扭。
類似的稠肘,當(dāng)你需要從類定義中提取泛型參數(shù)的對象Class,也可以借助Spring的方案:
ResolvableType resolvableType = ResolvableType.forClass(yourClass).getSuperType();
ResolvableType[] types = resolvableType.getGenerics();
return types[yourParamIndex].resolve();
更多極簡封裝萝毛,請關(guān)注diboot github