java - 如何以编程方式将已设置的 bean 注册到 spring 上下文

标签 java spring

我想知道如何才能做到这一点。 Afaik 有 BeanFactoryPostProcessor 接口(interface),让我们在初始化上下文中的 beans 之前使用 BeanDefinitionRegistry.registerBeanDefinition() 方法。该方法仅接受类/定义。但通常需要注册一个已经设置了属性的 bean。否则,bean 定义注册本身就没啥用。我不想在从上下文中获取它之后再进行额外的设置。

使用单例时没问题,但对于原型(prototype),我必须为每个 getBean() 设置 bean。

最佳答案

事实证明,最好的方法是 GenericBeanDefinitionGenericBeanDefinition.setPropertyValues(MutablePropertyValues propertyValues) 并且它正在注册到应用程序上下文中......

关于java - 如何以编程方式将已设置的 bean 注册到 spring 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058028/

相关文章:

Java:为不存在的 servlet 运行构建时出现 StackOverflowError

java - Spring Boot - html 文件的正确位置

java - Integer 和 int 数组的 containsAll 行为差异 (Java)

java - 一对一的双向关系会导致 OutOfMemory 错误吗?

Java boolean[] 到 byte[] 并返回

java - Spring Boot 组件扫描不起作用

java - Spring 4 MVC 区域设置已更改,但 JSP 对此没有响应

java - 提供文件时未正确获取文件扩展名

java - rowspan 的 Thymeleaf 表问题(1 个订单,N 篇文章)

java - 如何在 spring MVC 的 Controller 中操作 jQuery AJAX JSON 数据