AEM-配置如何工作

AEM-配置如何工作,aem,sling,Aem,Sling,我在aem中看到过配置,它有两个部分,第一个是静态的最终字符串,我将使用它的名称访问配置属性,另一个是实例变量,我将从属性字典对象获取它的值 例如,在Sling自己的代码中 public class ResourceResolverFactoryActivator implements Runnable { ... @Property( boolValue = {true}, label = "Namespace Mangling", descri

我在aem中看到过配置,它有两个部分,第一个是静态的最终字符串,我将使用它的名称访问配置属性,另一个是实例变量,我将从属性字典对象获取它的值

例如,在Sling自己的代码中

public class ResourceResolverFactoryActivator implements Runnable {
...
@Property(
        boolValue = {true},
        label = "Namespace Mangling",
        description = ".."
    )
private static final String PROP_MANGLE_NAMESPACES = "resource.resolver.manglenamespaces";
... // other code in between

private boolean mangleNamespacePrefixes;

protected void activate(ComponentContext componentContext){
...
this.mangleNamespacePrefixes = PropertiesUtil.toBoolean(properties.get("resource.resolver.manglenamespaces"), false);
...
}  

这里的
最终字符串属性MANGLE\u名称空间
和实例
布尔manglenamespace前缀
的意义是什么。为什么两个不同的变量只表示一个
@属性

PROP\u MANGLE\u名称空间
用于存储属性名称(felix将使用该名称保存属性)
mangleNamespacePrefixes
用于存储该属性的值


如果您愿意使用
PropertiesUtil.toBoolean(properties.get(PROP\u MANGLE\u NAMESPACES),则不必在任何需要的地方定义
manglenamespaces前缀

PROP\u MANGLE\u NAMESPACES
用于存储属性名称(felix将使用它来持久化属性)
mangleNamespacePrefixes
用于存储该属性的值

如果您愿意在任何需要的地方使用
属性util.toBoolean(properties.get(PROP\u MANGLE\u namespace),则不必定义
manglenamespace前缀