当前位置: 首页 > 面试题库 >

如何以编程方式创建具有注入属性的bean定义?

周枫涟
2023-03-14
问题内容

我想以编程方式将bean定义添加到应用程序上下文中,但是该定义的某些属性是该上下文中的其他bean(我知道它们的名称)。我该怎么做才能注入那些属性?

例如:

GenericBeanDefinition beanDef = new GenericBeanDefinition();
beanDef.setBeanClass(beanClass);

MutablePropertyValues values = new MutablePropertyValues();
values.addPropertyValue("intProperty", 10);
values.addPropertyValue("stringProperty", "Hello, world");
values.addPropertyValue("beanProperty", /* What should be here? */);

beanDef.setPropertyValues(values);

我正在使用Spring 3.0。


问题答案:

用途RuntimeBeanReference

values.addPropertyValue("beanProperty", new RuntimeBeanReference("beanName"));


 类似资料:
  • 所以我需要为@Transactional注释设置timeout参数。这个属性将来自一个属性文件,我不能这样做,因为我遇到了“注释属性transactional.timeout的值必须是常量表达式”。像这样的东西

  • 本文向大家介绍Spring Bean的属性注入方式,包括了Spring Bean的属性注入方式的使用技巧和注意事项,需要的朋友参考一下 在spring中bean的属性注入有两种 构造器注入 Setter方法注入 集合属性的注入 在spring中对于集合属性,可以使用专门的标签来完成注入. 例如:list set map properties等集合元素来完成集合属性注入. List属性注入 如果属性

  • 我在WooCommerce版本3+中创建了一个可变产品(父“产品”)。从一个WordPress插件中,我想以编程方式创建具有新属性值的产品变体(儿童“产品)。 变体属性已在WooCommerce中设置。 因此,每次创建一个变体时,都应以编程方式创建新属性的值,并在父变量product中设置新属性的值。 如何才能做到这一点呢?有可能吗? 更新:我已经为此编写了更多的代码行,并且尝试了许多方法来解决它

  • 问题内容: 我有一个应用程序,在application.properties中列出了许多数据源设置。我有一个可以加载这些设置的类。现在,我想从此类中获取值,并使用它们来动态创建DataSource bean。我尝试使用和实现。但是,使用时,处理似乎发生在早期-在填充我的课程之前。如何使用Spring Boot快速读取属性并动态创建bean? 这是我的application.properties的样

  • 下面是我的application.properties的样子: 和我的ConfigurationProperties类: 在这个方法的最后,我想创建一个具有这些设置的并将其添加到ApplicationContext中。但是,如果我试图通过实现并实现来实现这一点,则属性为null,我用填充的也是一样。 使用Spring Boot创建动态数据源的最佳方法是什么?

  • 我正尝试使用以下命令以编程方式创建: