我想将一些默认构造函数和设置器标记为不可用/不推荐使用。我需要它与 annotation 有点相似@Deprecated
,但它不应该具有相同的含义。我只是添加构造函数和设置器,因为某些框架让我这样做(Hibernate、Spring、Jackson)。你知道这种结构是否存在吗?
问问题
909 次
3 回答
3
真正的答案是只在 API 之外公开接口和工厂。这允许您隐藏由于框架而可能需要为非私有的方法。
如果您不能这样做,请尝试将方法设为默认范围(而不是protected
)。
此外,您可以使用注释作为内部标记。在我的项目中,我们为此目的创建了注释:PresentForDependancyInjection
和/或FrameworkEntryPoint
. 这些是仅用于装饰的注释,但可以理解。
于 2012-01-09T13:52:07.393 回答
0
制作它们protected
,这是通常用来防止它们在其他地方被调用的方法。如果框架想要它们,public
那么您几乎无能为力,除非您可以将它们配置为不这样做。
于 2012-01-09T13:46:57.070 回答
0
据我了解,您想找到一种方法来轻松处理某些框架要求吗?您想避免 Java Bean 命名约定,同时能够看到此类框架处理的代码?据我所知,使用纯 Java 语言是不可能的,您可以使用 AOP / 字节码增强工具来装饰您的类与此类框架兼容......这可能有效,但它有不同的缺点: - 增加复杂性 - 维护可能很棘手 您可以使用个人注释来指导字节码增强......
另一种观点是使用分形方法,但这个框架并不为人所知,即使它是我所知道的最令人印象深刻的框架之一。你可以看看这里: http: //fractal.ow2.org/java.html
HTH 杰罗姆
于 2012-01-09T13:51:24.167 回答