1

我正在开发网络应用程序,我使用 Spring MVC。它有一个 servlet。因此,如果我是对的,它应该有一个根应用程序上下文和该 servlet 的附加应用程序上下文。servlet 应用程序上下文中的 bean 可以访问根应用程序上下文中的 bean。但是,假设应用程序已启动,并且我想将一些 bean 添加到根应用程序上下文中,我应该如何进行?基本上,我在“additional-beans.xml”中有一些 bean 配置。我想将它们添加到根应用程序上下文中,但不是在初始化点,而是在 Web 应用程序启动后的一段时间。怎么做?好像在做类似的事情

AbstractApplicationContext rootContext = new ClassPathXmlApplicationContext(new String[]{"additional-beans.xml"});

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

4

1 回答 1

0

您可以使用惰性初始化 bean

<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/

于 2013-04-19T06:31:19.683 回答