“注释更加灵活的,你如何使用它们,与选择方面的注释信息是否被包含在由编译器输出的类文件并在运行时提供给应用程序”
它比XDoclet的更加灵活,因为:
- 它可以从源代码(如XDoclet的)一起使用
- 它可以在运行时使用,当你只有字节码而不是源代码(不像XDoclet的)
虽然注释是理想的,涉及到一个特定的成分的元数据,它们不能很好地适用于元数据与交叉组件应用程序。
注解(如XDoclet的)具有一个有趣的特点,而不是外部XML例如:
注解住在代码,所以很自然他们将被施加到它们被定义的代码上。您不必指定(使用一些复杂的语法)它们应用的代码片段。实例:
- 如果注释是在一个方法中定义,它自然适用于该方法
- 如果一个注解被上一字段中定义的,它自然适用于场
- 如果一个注解被限定在一类,它自然适用于该类
- 如果注释是在包中定义,它自然适用于包装
如果你想有相同的外部XML文件,你必须使用一个复杂的语法来识别你引用的代码片段。所以这使得他们很容易申请。
此外,如果代码重构(如重命名),注释继续正常工作,而外部XML将不得不改变指向新的类或方法名称。
我不认为在一个web应用程序中,大多数事情是交叉组件。
- 如果你定义了一个实体的Persistance(到一个数据库),就像这个类应该被持久化的表一样,它对所有的实体都不是全局的,它只影响当前的实体。
- 同许多其他例子...
来源
2009-10-06 07:30:55
KLE
谢谢Skaffman,这很好地阐明了它。 – dchucks 2009-10-06 08:27:32