java - 将 Java 构造函数/方法标记为不供客户端使用的首选方法?

标签 java deprecated setter default-constructor

我想将一些默认构造函数和 setter 标记为不可用/不推荐使用。我需要它与注释 @Deprecated 有点相似,但它不应该具有相同的含义。我只是添加构造函数和 setter ,因为某些框架让我这样做(Hibernate、Spring、Jackson)。你知道这样的构造是否存在吗?

最佳答案

真正的答案是只在 API 之外公开接口(interface)和工厂。这允许您隐藏由于框架而可能需要非私有(private)的方法。

如果您不能这样做,请尝试将方法设置为默认范围(而不是 protected)。

此外,您可以使用注释作为内部标记。在我的项目中,我们为此创建了注释:PresentForDependancyInjection 和/或 FrameworkEntryPoint。这些只是装饰性的注释,但可以说明问题。

关于java - 将 Java 构造函数/方法标记为不供客户端使用的首选方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8789324/

相关文章:

java - 将 C 或 C++ 常量转换为 Java

java - JsonParseException : Unexpected character ('i' (code 105)): was expecting double-quote

python - 在 Python 中继承类 "object"的目的是什么?

javascript - ( typescript )不在类实例的子属性上调用 Setter

java - 多用户 Java 应用程序的实际工作原理

java - LWJGL 网格到 JBullet 碰撞器

Android:不推荐使用 onRetainNonConfigurationInstance()?

java - 在 Hibernate 中是否不推荐使用 buildSessionFactory() 配置方法?

java - 我是否必须为数组的每个元素创建 getter setter?

oop - Common Lisp 中类的 getter 和 setter