2

我正在研究spring的源代码,但是当我这样做时,它向我显示了一些关于cglib类的错误——说编译器找不到类。类似这些类的东西:Callback、CallbackFilter、Enhancer、MethodInterceptor 等。所有这些类都在 cglib 包中,但是当我检查 github 以获取最新的源代码时(我更新了我的存储库以确保它是最新的 master 分支。),我也找不到这些类。我检查了 spring 的发布包,它包含上面列出的类。

有谁可以告诉我,spring的源代码是否有问题?或者如果我的方式不对,这些类是由cglib本身生成的,而不是由其他人生成的?

谢谢。

4

1 回答 1

1

CGLib 可能在 master 分支(对于 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。有关使用这些类的详细信息,请参阅原始 CGLIB 3 Javadoc

于 2013-06-09T09:36:07.030 回答