发现一个奇怪的问题,就是在Spring框架中,调用的Cglib包的全限定名为org.springframework.cglib,这是为什么呢?
并且可以看到,这两个包中的代码都是一样的,那么Spring为什么要这么做呢?
然后我就开始在网上找答案,然而网上找了很久,找到一个答案:
突然就明白了,Spring真6皮,简单来说就是:
是spring为了让我们能够自己引入自己喜欢的cglib版本,所以他把包名换了一下,当我们再引入自己的cglib版本时就不会产生jar包冲突,就是为了避免出现这种情况。
spring自己用的版本和我们想用的版本可能不一样,如果spring直接引用一个固定的版本,我们就不能用自己想用的版本引入spring项目了。
这里不禁感慨一句,Spring框架想的真的太全面了,把可扩展性考虑到了极致,奈何没文化,一句牛皮走天下。