在阅读有关使用模型的 AEM 文档时, 我不知道字段上方的 @Inject 和 @ValueMapValue 批注之间的差异是什么。
我尝试同时使用这两种方法,而且它们看起来都一样,所以我一定缺少一些东西。
答案 0 :(得分:6)
它们是不同的,@Inject
是一个通用注释,它使许多注入器都可以使用该值。
@ValueMapValue
是特定于注入器的注释,将专门从valuemap注入器中选取值。它等效于@Inject @Source("valuemap")
当仅可从一个注入器获得注入值时,它们的行为将是相同的,但是,如果两个不同的注入器(例如脚本绑定和值映射)提供相同的属性,则它们可能注入不同的值。了解更多here。