0

Springプロジェクトの構成を含むXMLファイルがあり、新しいBeanを動的に追加したいと思います。最初のxMLファイルを変更し、新しいBean定義を追加する必要があります。

    <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="config"
        class="myclass">
        <property name="configXml">
            <value>config.xml</value>
        </property>
    </bean>

<-- here a want to add a new bean definition <bean>....</bean> -->

</beans>

誰かアイデアがありますか?

4

1 に答える 1

0

私はまだあなたの言いたいことを 100% 理解しているわけではありませんが、ここで 2 つのケースを試してみましょう。

派生値に基づいて Bean のプロパティを指定する場合は、Spring Expression Language を使用できます。

http://static.springsource.org/spring/docs/3.0.x/reference/expressions.html

<bean id="someBean" class="example.SomeBean">
    <property name="foo" value="#{config.whatever}"/>
</bean>

より複雑なものが必要な場合は、ファクトリ Bean を使用してプログラムで Bean を構築できます。

<bean id="someBean" class="example.SomeBeanFactory">
    <property name="config" ref="config"/>
</bean>

のようなもので

class SomeBeanFactory implements FactoryBean<SomeBean> {
    public void setConfig(MyClass config) { ... }

    public SomeBean getObject() {
        ...
    }
}
于 2013-03-12T13:44:42.723 に答える