首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重新定义Spring beans表示

如何重新定义Spring beans表示
EN

Stack Overflow用户
提问于 2017-04-04 20:58:30
回答 2查看 136关注 0票数 0

我想在Spring中为bean的内部表示添加额外的属性。有可能吗?如果有机制,应该采用什么机制?我的目标是为我的框架定义我自己的bean。我可以从头开始做,也可以重用Spring机制。

EN

回答 2

Stack Overflow用户

发布于 2017-04-04 21:27:50

您可以查看文档Container Extension Points

要实现自定义,您可以创建:

在bean实例上操作的

  • BeanPostProcessor bean。例如,这允许创建一个自定义的bean注册表,转到可以操作bean元数据的proxify...
  • BeanFactoryPostProcessor。这允许for overriding or adding properties even to eager-initializing beans在修改类时...可以在注册表初始化后立即运行的
  • BeanDefinitionRegistryPostProcessor。这允许创建、删除或更新beans definitions.

例如,您可以创建一个新的BeanDefinitionRegistryPostProcessor,它将使用BeanDefinition的自定义实现来注册(或修改)bean,该实现将包含基于例如您自己的注释的自定义属性。

你能详细说明一下你的框架想要达到什么目的吗?

票数 0
EN

Stack Overflow用户

发布于 2017-04-06 02:55:22

谢谢你,尼古拉斯:)

我会研究你的答案和你提供的文档。我已经找到了你提到的*后处理器,但我不确定这是否是正确的地方,以及它们的定制的性质(子类化或其他)以及后果是什么。我的问题并不像我说的那么简单(不仅仅是添加一个属性)--扩展的Spring bean也应该与Spring+AspectJ (而不是SpringAOP)协作使用,特别是在使用声明父级结构的时候。我也希望能够为重新定义的bean创建代理。我会让你知道我的调查结果是什么,也许我会问一些问题。

给你们所有人的答案:我的框架致力于在运行时定义图形建模语言(元模型)(是OMG标准的远扩展),我正在寻找JVM中当前对象表示引入的局限性的解决方案,它促进了行为而不是结构。这是几种方法中的一种,但由于相对较小的工作量,这对我来说是最有前景的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43207956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档