java - 如何使用注释使用默认构造函数初始化字段

标签 java reflection annotations

伙计们!您能告诉我,我们如何使用注释来初始化字段吗? 例如: 我们有几个自定义类:Foo;酒吧。在主类中,我们输入了两个字段

public class Main {
    Foo foo;
    Bar bar;
}

我想创建注释,这有助于初始化这些字段。在最终结果中,我希望看到这样的内容:

@Initialize
Foo foo;
@Initialize
Bar bar;

最佳答案

注释本身不执行任何操作。它只是可以使用反射检索的元数据。因此,您可以实现一种工厂,它接收类,使用默认构造函数创建其实例,发现用您的注释注释的类的字段并设置字段的值。

但是在开始实现之前我想问以下问题:

  1. 该工厂将在哪里找到 foobar 的值(可能来自某种存储库?可能来自 JNDI?)
  2. 你真的需要这个吗?可能使用构造函数进行初始化更好。在这种情况下,您可以将所有字段标记为final,这样您的对象将是不可变的,这有很多优点
  3. 您可能会重新发明轮子吗?看看 Spring 框架。它可以满足您的需求,甚至更多。

关于java - 如何使用注释使用默认构造函数初始化字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37702542/

相关文章:

java - 一次从数据库中加载 x 行,显示它们,加载下 x 行等等

java - Auth0 JWT java 库随机抛出错误

ruby - 如何编写可通过插件扩展的 ruby​​ 应用程序

java - 没有 xml 配置的非 Spring 轻量级 AOP,用于将注释编织到方法中

java - Java中获取注解元数据的方法

java - 桌面应用程序中的自动翻译

java - rsyslog 占用大量内存

ios - 如何快速克隆对象模型

java - 获取要加载的类所需的类列表

java - 在 Spring 中使用 @Cacheable 作为非参数方法