在阅读有关使用模型的AEM文档时,我无法弄清楚字段上方@Inject和@ValueMapValue注释之间的区别。
我尝试过使用它们,它们看起来都是一样的,所以我必须遗漏一些东西。
它们不一样,@Inject
是一个通用的注释,可以从许多注射器中获得价值。
@ValueMapValue
是一个特定于注入器的注释,它将专门从valuemap注入器中选择值。它相当于@Inject @Source("valuemap")
当注入的值仅从一个注入器可用时,它们的行为将是相同的,但是如果两个不同的注入器(例如脚本绑定和值映射)提供相同的属性,则它们可能注入不同的值。阅读更多here。