java - 配置Spring Bean以重用其自己的属性?

标签 java spring

我对 Spring 还很陌生,我需要一个具有两个属性的 bean——第二个是引用第一个属性的内联 bean。像这样的事情:

<bean id="aBean" class="com.sample.Bean">
    <property name="propertyOne" value="something" />
    <property name="propertyTwo">
        <bean class="com.sample.AnotherBean">
            <property name="propertyThree" ref="propertyOne />
        </bean>
    </property>
</bean>

使 propertyOne 成为它自己的 bean 在这里不是一个选项。实现这一目标的最佳方法是什么?谢谢!

最佳答案

我能想到的唯一方法是为您的公共(public)属性创建一个bean,并在BeanAnotherBean中引用这个公共(public)属性 - 任何原因不适合您吗?

任何其他方法都行不通,因为依赖关系图 - aBean 依赖于另一个 Bean,因此 AnotherBean 将在 aBean 之前实例化,并且无法引用子 bean 属性。

如果没有这种依赖关系,您可以使用 Spring-EL 来引用该属性:

<property name="propertyThree" value="${aBean.propertyOne}"/>

关于java - 配置Spring Bean以重用其自己的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11006529/

相关文章:

java - 综合(智能)数据库

java - 编译 Hello World

java - application context中的一些bean的依赖关系形成了一个循环

java - 覆盖 spring-boot EurekaInstanceConfigBean

Java Swing TitledBorder 自定义颜色

java - 如何实现字典(Trie vs HashTable 等重要问题)?

java - Spring & 没有独特的 bean 类型

Spring Controller 不接受应用程序/json

java - 非 Swing 开发人员学习 Vaadin 的路线图

java - Java配置中的Spring非主要注释