2012-02-28 42 views
0

在我的应用程序中,我需要添加一些基于一些业务逻辑的spring配置文件的内容。我可以使用applicationContextAware类来获取上下文。我的问题是关于如何在上下文中添加“资源”。我的意思是加载资源并在运行时将它们添加到Context。如何添加到Spring ApplicationContext?

+1

你能解释一下你正在尝试做什么吗?豆线将已经发生,所以你将无法注入这些新的属性... – seanhodges 2012-02-28 10:06:35

+0

是的。当然春天应该重新接线他们。 – meisam 2012-02-28 13:29:59

回答

1

您可以根据您的资源创建新的ApplicationContext,然后将现有的设置为父上下文。

如果是web应用程序,您需要将新的上下文设置为spring存储上下文的上下文变量。

+0

谢谢。只是几个问题:1.我如何设置父上下文? 2.它是一个Web应用程序,它是使用ContextLoaderListener创建的,而ContextLoaderListener是Context变量使用的?你能给出一行或两行代码吗? – meisam 2012-02-28 10:12:54

+0

听众是找出答案的好起点:) 它使用ContextLoader.initWebapplicationcontext(ServletContext)ro启动一个spring上下文。你需要做的工作是某种相同的。 变量是:WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE 在ContextLoader.createWebApplicationcontext(Servletcontext,ApplicationContext)中显示了它是如何创建的。 WebApplicationContext有一个setParent()方法。这是很容易的部分:) – wemu 2012-02-28 10:36:21

+0

其实它似乎并没有webappcontext有一个公共setParent():)也许是困难的部分。也许我错了,但我不认为你可以通过复制粘贴弹簧代码本身获得功能:)应该有一些暴露的接口或,,,做到这一点。 – meisam 2012-02-28 11:02:59

相关问题