0

別のライブラリの要件によりApplicationContext、メインApplicationContextで次の名前を定義する必要がありますdefault.context

<?xml version="1.0"?>
<beans>
    <bean name="default.context" class="org.springframework.context.support.ClassPathXmlApplicationContext">
        <constructor-arg>
            <list>
                <value>../other-file.xml
            </list>
        </constructor-arg>
    </bean>

    <bean class="MyNiceDependency"/>
</beans>

どうすればコンテキストでMyNiceDependency利用できるようにできますか?のプロパティdefault.contextを使用する必要があると想定していますが、現在のコンテキストをそれに注入するにはどうすればよいですか?parentClassPathXmlApplicationContext

4

1 に答える 1

1

これが仕事を成し遂げるべき何かです:

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class ThisApplicationContextFactoryBean implements FactoryBean<ApplicationContext>,
        ApplicationContextAware {

    private ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext)
            throws BeansException {
        this.applicationContext = applicationContext;
    }

    public ApplicationContext getApplicationContext() {
        return this.applicationContext;
    }

    @Override
    public ApplicationContext getObject() throws Exception {
        return getApplicationContext();
    }

    @Override
    public Class<?> getObjectType() {
        return ApplicationContext.class;
    }

    @Override
    public boolean isSingleton() {
        return true;
    }
}

おそらく、Springにはもっと良いものがあるのでしょうか、それとももっと良いものがあるのでしょうか。

于 2012-08-06T21:44:15.550 に答える