Spring MVC上下文:向根应用程序上下文添加bean

时间:2013-04-19 06:09:20

标签: spring spring-mvc applicationcontext

我正在使用Web应用程序并使用Spring MVC。它有一个servlet。因此,如果我是对的,它应该有一个根应用程序上下文和该servlet的附加应用程序上下文。 servlet应用程序上下文中的Bean可以在根应用程序上下文中访问bean。但是,让我们说app开始了,我想在根应用程序上下文中添加一些bean,我该怎么办?基本上,我在“additional-beans.xml”中有一些bean配置。我想将它们添加到根应用程序上下文中,但不是在初始点,而是在Web应用程序启动后的某个时间。怎么做?好像做像

这样的事情
AbstractApplicationContext rootContext = new ClassPathXmlApplicationContext(new String[]{"additional-beans.xml"});

使用我的一个控制器不会将其他bean添加到根应用程序上下文中。但是,他们又在哪里添加?它甚至可能吗?谢谢)

1 个答案:

答案 0 :(得分:0)

您可以使用Lazy init beans

<bean id="myBean" class="net.spring.ioc.MyBean"
        lazy-init="true" />

PS:我的建议是使用WebApplicationContext

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
    </context-param>

    <listener>
        <listener-class>
                      org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example/