当前位置: 首页 > 知识库问答 >
问题:

使用SpEL复制bean的引用不起作用

楚嘉玉
2023-03-14

我一直在尝试Spring。我希望通过使用SPEL为另一个bean复制一个bean的值和引用属性。

考虑这个bean:

<bean id="kenny" class="com.springinaction.springidol.Instrumentalist">
    <property name="song" value="#{'Jingle Bells'}" /> 
    <property name="instrument" ref="piano" /> 
</bean>

我希望将其值复制到另一个bean,如下所示:

<bean id="carl" class="com.springinaction.springidol.Instrumentalist"> 
    <property name="song" value="#{kenny.song}" /> 
    <property name="instrument" ref="#{kenny.instrument}" /> <-- I GET EXCEPTION OVER HERE

</bean>

共有1个答案

颛孙俊
2023-03-14

ref是对另一个bean的引用;在您的示例中,您希望使用Kennybean的Instrummt属性的值。

你应该使用

 <property name="instrument" value="#{kenny.instrument}" />

这假定Instrumentalist上有getInstrument()方法。

 类似资料:
  • 我有一个属性类: 我在@Configuration类中启用配置属性,如下所示: 在同一个类(“SomeAutoConfiguration”)中,我想创建另一个bean,具体取决于SomeProperties中的list属性是否为空。我想我可以将@ConditionalExpression与以下SpEl结合使用: SpEl是正确的,但我无法获得包含我的属性的bean。使用上面的表达式,我遇到了 EL

  • 所以我对bootstrap是新手,我刚刚尝试了文档中的一个示例,它并没有像预期的那样显示出来。 输出应该如下所示。(如果你看不到图像,它是三个div和“三列中的一列”对齐左上角、中央和右下角) 但我得到的只是三个并列的DIV。 我是不是漏掉了什么?

  • 尝试使用p:fileUpload上载文件时收到错误。我尝试了maven clean和maven install for update dependeces。我换了网站。多次使用xml。我相信问题是与我的Anotion的关系,我正在使用@Autowired(Spring),但我改变了它,它不起作用。我如何解决这个问题? 我正在使用:Primeface 6.0,Java8,Spring Data,Sp

  • 我是JSTL新手,由于某种原因,我无法让测试线工作。以下是我使用的简化代码: 当我使用 ${hasChild} 它在屏幕上打印真实,但在测试线上不会发出嗡嗡声,我不知道为什么。有人能帮忙吗?

  • 我需要将/data/files目录中的一堆文件移动到一个新的文件夹结构中。在/data目录中,我有一个清单文件,其中包含每个文件的完整工作路径。 源文件: 清单文件包含: 我需要帮助编写一个shell脚本,它将在清单中找到文件名并运行一个copy命令。如果目录结构不存在,创建它。 如何从文件的完整路径获取文件名? 如何在复制文件之前创建目录?

  • 我正在构建一个Quarkus应用程序,它使用resteasy处理http请求,并使用restclient调用另一个api,我需要传播一个头并动态添加另一个头,所以我添加了一个实现ClientHeadersFactory的类。 代码如下: 我的问题是配置的注入不起作用。我使用和两种方法都进行了尝试,如的javadoc所述。我也试图使类不抽象,但它没有改变任何东西。 MicroServicesConf