Java 需要了解broadleaf commerce自定义注释实现
我一直在努力通过《阔叶商业守则》。使用了多个自定义注释,但我无法找到它们。有人能帮我吗。以@AdminPresentation为例,它是包org.broadleafcommerce.common.presentation中的一个自定义注释 然而,这是如何处理整个应用程序,我无法找到。我现在所了解的是,我们可以使用反射或AOP来处理它。但这是毫无意义的 请帮忙 源代码-请查看: 您将在自定义注释中获得关于“default”的解释Java 需要了解broadleaf commerce自定义注释实现,java,annotations,broadleaf-commerce,Java,Annotations,Broadleaf Commerce,我一直在努力通过《阔叶商业守则》。使用了多个自定义注释,但我无法找到它们。有人能帮我吗。以@AdminPresentation为例,它是包org.broadleafcommerce.common.presentation中的一个自定义注释 然而,这是如何处理整个应用程序,我无法找到。我现在所了解的是,我们可以使用反射或AOP来处理它。但这是毫无意义的 请帮忙 源代码-请查看: 您将在自定义注释中获得关于“default”的解释 Florent COUDERT.简短的回答是,org.broadl
Florent COUDERT.简短的回答是,
org.broadleafcommerce.openadmin.server.dao.provider.metadata.BasicFieldMetadataProvider#addMetadata
是处理这些注释的一个地方
在更广泛的层面上,openadmin中的控制器将使用AdminEntityService来获取类元数据(所有关于如何向管理员用户显示类的数据)。@AdminPresentation
注释是此数据的一个来源。方法AdminEntityServiceImpl#getClassMetadata
是获取ClassMetaData的主要网关
#getClassMetadata
调用#inspect
并最终访问PersistenceManager#inspect
。此方法使用DynamicEntityDao最终获得元数据#getFieldMetadataForTargetClass
。该方法通过反射获取类的每个字段,然后通过可用的FieldMetadataProviders处理这些字段。FieldMetadataProviders将java.lang.reflect.Field
转换为org.broadleafcommerce.openadmin.dto.FieldMetadata
任何提供的FieldMetadataProvider都可以提供字段元数据。此元数据在FormBuilderService中用于构造管理页面
类引用:
AdminEntityService-org.broadleafcommerce.openadmin.server.service.AdminEntityServiceImpl
PersistenceManager-org.broadleafcommerce.openadmin.server.service.persistence.PersistenceManagerImpl#inspect
DynamicEntityDao-org.broadleafcommerce.openadmin.server.dao.DynamicEntityDaoImpl#getPropertiesForEntityClass
元数据-org.broadleafcommerce.openadmin.server.dao.Metadata#getFieldMetadataForTargetClass
FieldMetadataProvider-org.broadleafcommerce.openadmin.server.dao.provider.metadata.FieldMetadataProvider
,org.broadleafcommerce.openadmin.server.dao.DynamicEntityDaoImpl#fieldMetadataProviders
FormBuilderService-
org.broadleavecommerce.openadmin.web.service.FormBuilderServiceImpl
我不是在寻找一般的答案,我很清楚注释是如何使用的。我所说的wrt是一个提到的源代码。请参阅Java反射应用程序编程接口。