我正在使用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添加到根应用程序上下文中。但是,他们又在哪里添加?它甚至可能吗?谢谢)
答案 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/