- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试浏览 Broadleaf Commerce 的代码。使用了多个自定义注释,但我无法找到那里的处理器。有人能帮我一下吗。以 @AdminPresentation 为例,它是包 org.broadleafcommerce.common.presentation 中的自定义注释;
但是,我无法找到整个应用程序如何处理它。到目前为止我所了解的我们可以使用Reflection或AOP对其进行处理。但没有什么可做的。
请帮忙。
源代码 - https://github.com/BroadleafCommerce/BroadleafCommerce
最佳答案
简单来说,org.broadleafcommerce.openadmin.server.dao.provider.metadata.BasicFieldMetadataProvider#addMetadata
是处理这些注释的地方。
在更广泛的层面上,openadmin 中的 Controller 将使用 AdminEntityService 来获取 ClassMetaData(有关如何向管理员用户显示类的所有数据)。 @AdminPresentation
注释是此数据的来源之一。方法 AdminEntityServiceImpl#getClassMetadata
是获取 ClassMetaData 的主要网关。
#getClassMetadata
调用 #inspect
并最终到达 PersistenceManager#inspect
。此方法使用 DynamicEntityDao 最终到达 Metadata#getFieldMetadataForTargetClass
。该方法通过反射获取类的每个字段,然后通过可用的 FieldMetadataProvider 处理每个字段。 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.broadleafcommerce.openadmin.web.service.FormBuilderServiceImpl
关于java - 需要了解阔叶商务自定义注释实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61005608/
我一直在对支付方式进行大量研究,看起来 Drupal Commerce 确实试图将网站管理员/开发人员推向 Paypal。有几个选项似乎可行,但在我说之前,这些是我的客户的基本必需品: 现场付款。 国
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我是使用 Spree 的新手我只是在玩 3.0 稳定版。 我想使用名为“高级 REST 客户端”的 chrome 应用程序通过 API(或类似的东西)将用户帐户登录到商店,然后访问商店并查看在那里登录
使用 rc run 将 Reaction Commerce 从 1.4.x 升级到 1.5.x 我在 Firefox 中收到此错误: TypeError: require(...).__SECRET_
我想使用 Google Directions API 为一家处理冬季扫雪机和夏季景观美化的公司开发路线规划软件。客户的要求之一是他能够计算具有至少 30 个(最好更多)航点的路线。根据文档(下面引用)
我是一名优秀的程序员,十分优秀!