@Inject和@ValueMapValue注释之间的区别

问题描述 投票:1回答:1

在阅读有关使用模型的AEM文档时,我无法弄清楚字段上方@Inject和@ValueMapValue注释之间的区别。

我尝试过使用它们,它们看起来都是一样的,所以我必须遗漏一些东西。

java model aem sling
1个回答
8
投票

它们不一样,@Inject是一个通用的注释,可以从许多注射器中获得价值。

@ValueMapValue是一个特定于注入器的注释,它将专门从valuemap注入器中选择值。它相当于@Inject @Source("valuemap")

当注入的值仅从一个注入器可用时,它们的行为将是相同的,但是如果两个不同的注入器(例如脚本绑定和值映射)提供相同的属性,则它们可能注入不同的值。阅读更多here

© www.soinside.com 2019 - 2024. All rights reserved.