我正在深入研究spring的源代码,但是当我这样做时,它向我展示了关于cglib类的一些错误 - 说编译器无法找到类。 像这些类的东西: 回调,CallbackFilter,增强,在MethodInterceptor等。 所有这些类都在cglib包中,但是当我检查github上的最新源代码时(我更新了我的存储库以确保它是最新的主分支。),我也找不到这些类。 我检查了spring的发布包,它包含了上面列出的类。
有人可以告诉我,spring的源代码是否有问题?或者如果我的方法错误,那些类是由cglib本身生成的,而不是由其他人生成的?
感谢。
答案 0 :(得分:1)
CGLib可能正在主分支(适用于4.x版本)中被Javassist取代。您需要在GitHub上检查3.x分支以查找源代码。
更新:似乎并非如此。相关问题https://jira.springsource.org/browse/SPR-8190仍在积压中。
UPDATE2:这些类只是CGLIB中类的副本。检查JavaDoc以获取包http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/cglib/package-summary.html:
Spring重新打包net.sf.cglib 3(仅供内部使用)。
这种重新包装技术避免了任何潜在的冲突 在应用程序级别或其他方面对CGLIB的依赖性 第三方图书馆和框架。
由于此重新打包发生在类文件级别,源和 Javadoc不在这里。请参阅original CGLIB 3 Javadoc 使用这些类时的详细信息。