0

我正在使用 spring 开发一个应用程序。我有一个需要多次调用的 bean,但对于每次调用,我都需要动态更改属性值。有没有办法做到这一点 。

我有一个想法将bean属性设置为一个数组,在eatch数组中我放置了我想要使用的参数。例如 array[0] 包含第一次调用的参数,array[1] 第二次调用的参数,......是否可以这样做?

这是一个代码示例:

<bean class="Dummy2">
    <!-- or a list of values -->
    <property name="foos"> 
        <util:list>
            <value>A,b,c</value>
            <value>X,y,z</value>
            <value>1,2,3</value>
            <value>7,8,9</value>
        </util:list>
    </property>
</bean>

二传手

@Override
public void setFoo(list<String[]> args) {
...
}

如果有人有更好的想法或有用的想法,我将不胜感激

谢谢你

这是调用 bean 的 bean 的属性

<property name="activities">
      <list>
        <ref bean="1"/> //Calling bean 1
        <ref bean="2"/> //Calling bean 2
        <ref bean="1"/> //Calling bean 1 again
        <ref bean="2"/>//Calling bean 2 again
        <ref bean="2"/>
      </list>
    </property>

我需要为每个调用使用不同的参数(使用不同的值调用 setter)

4

2 回答 2

1

在“主”bean 上的初始化方法上使用 Spring 的 PostConstruct 注释有用吗?您可以使用简单的 setter 方法将 bean 列表和配置列表注入主 bean,并在 init 方法(使用 @PostConstruct 注释)中正确配置每个 bean。 http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/beans.html#beans-postconstruct-and-predestroy-annotations

于 2013-04-30T21:20:11.193 回答
1

您是否熟悉 AOP,您可以使用方面来执行此操作,使用 @Before Advice 在调用它之前设置您的方法属性

于 2013-05-01T05:50:52.190 回答