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

问题描述:

guys!你能告诉我,我们如何使用注解初始化字段? 例如: 我们有几个自定义类:Foo;酒吧。在Main类中,我们输入了两个字段如何用默认构造函数使用注释初始化字段

public class Main { 
    Foo foo; 
    Bar bar; 
} 

我想创建注释,这有助于初始化这些字段。最终结果我想看到这样的事情:

@Initialize 
Foo foo; 
@Initialize 
Bar bar; 
+1

这些注释究竟应该做什么?如果你想要一个固定的初始化值,你可以直接赋值。如果你想计算一个,把它放在构造函数中。如果你想要一些外部注射,你需要有一个DI提供者。 –

注释本身什么都不做。它只是一个可以使用反射来检索的元数据。因此,您可以实现一种接收类的工厂,使用默认构造函数创建它的实例,发现用注释标注的类的字段并设置字段的值。

不过我倒是为下列问题开始实施前:(?从JNDI可能是从某种存储库的可能)

  1. 哪里会这个工厂找到foobar
  2. 你真的需要这个吗?可能初始化使用构造函数更好。在这种情况下,你可以标记所有字段final,所以你的对象将是不可变的,有很多优点
  3. 你可能重新发明轮子?看看Spring框架。它可以满足你的要求,而且更重要。