0

我有以下问题:

  • 我正在编写代码,并想在无法更改其源的包中使用 java bean。
  • 这个包在给定的 java bean 上有一个错误。在我的情况下,解决方案是删除这个字段(如果我有源)+重新编译。
  • 我想在我的源代码中编写相同的包 + 类(因为我没有 jar 的源代码),没有有问题的字段。
  • 实际情况要复杂一些。

在开始实施之前,我想与您协商什么是最好的方法。

4

5 回答 5

0

你现在有Spring Aspects吗?您可以尝试配置一个切入点来拦截您的方法调用,并使用“周围建议”来调用您自己的代码并避免使用原始的 . 更多信息:http ://static.springsource.org/spring/docs/3.1.1.RELEASE/spring-framework-reference/html/aop.html

于 2012-11-29T06:46:49.493 回答
0

我想你很可能在这里寻找适配器设计模式。但是请记住,使用此模式您不会更改/修改原始类,而是您自己的继承类(尽管在同一个包中)。

于 2012-11-29T06:40:06.723 回答
0

如何对原始源代码进行逆向工程,编写自己的 bean 并将其添加到 jar 中?当然,如果 jar 的许可证没有禁止这种方法。

它相对简单,现代逆向工程工具为您提供可读的源代码。

有很多工具可以对编译的类进行逆向工程。我最近使用了一个作为 Eclipse 插件。

于 2012-11-29T06:40:36.683 回答
0

最好的方法是使用相同的包结构和设置类路径顺序重写相同的 java bean,以便首先引用用户定义的代码而不是 jar 文件

于 2012-11-29T06:41:38.807 回答
0

您无法真正更改 jar 中的现有源代码(也许我在这里错了,但现在没有办法)。您可以做的是处理类加载级别和面向方面的方法(如字节码操作)。有了它,您可以在加载时更改类、方法等的源代码。但我不会真的推荐它,它只是如果你真的想要它,那么它可能是一种可能性。

于 2012-11-29T06:43:50.237 回答