Spring如何创建应用程序上下文或容器层次结构?

时间:2011-03-14 17:52:21

标签: java spring ioc-container applicationcontext

根据The IoC Container,Spring可以管理容器的上下文层次结构或层次结构,然后使用<ref parent="beanId"/>来引用父上下文中的bean。 Spring使用什么机制来创建这个容器层次结构?可以使用<import resource="application-context.xml"/>命令创建此层次结构吗?请提供构成层次结构的应用程序上下文的示例。

1 个答案:

答案 0 :(得分:14)

自动创建应用程序上下文层次结构;例如,每个Spring MVC应用程序为每个DispatcherServlet创建单独的上下文。此上下文是公共父上下文的子级。这样,每个子上下文都可以从父上下文访问bean,但不能反过来。兄弟情境也是彼此分离和隐形的。

您可以手动创建上下文层次结构,以便在项目中提供更精细的粒度级别。这可以通过例如实现。使用ClassPathXmlApplicationContext的各种构造函数。

<import>构造从导入的文件中合并bean,因此它是一种将bean定义物理地划分为多个文件的方法,但它们都在一个上下文中结束。顺便说一句,遗憾的是没有XML标签来定义子上下文文件(?)