如何分配spring-context?

时间:2016-08-02 12:12:04

标签: java spring spring-mvc

我对春天的应用程序上下文感到困惑。如果我使用spring(simple spring)创建beans.xml,然后从(例如)main()方法调用Application上下文。

ApplicationContext context = new FileSystemXmlApplicationContext
            ("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml");
一切顺利。但是我不明白我是在上面的目录上还是在另一个目录中移动文件(例如)它可以吗?

在spring-mvc中,我创建的每个DispatcherServlet都有上下文,我指定了一些bean,所有servlet都有共同的上下文,如何指定?在web.xml中? 总的来说,请在这一刻解释一下(我读到春天的行动,我几乎所有人都不理会,但这些棘手的时刻并没有在那里展示。

1 个答案:

答案 0 :(得分:1)

来自FileSystemXmlApplicationContext java doc

  

独立XML应用程序上下文,从文件系统或URL获取上下文定义文件,将普通路径解释为相对文件系统位置(例如" mydir / myfile.txt")。适用于测试工具以及独立环境。

这里的关键词是上下文定义文件,因此您可以根据需要将路径传递给任意数量的xml文件。除此之外,您还可以创建一个应用程序上下文,并将其作为父项传递给新的上下文:

FileSystemXmlApplicationContext(String[] configLocations, ApplicationContext parent)

因此,您可以轻松创建所需的上下文层次结构。

       ApplicationContext parentContext = new FileSystemXmlApplicationContext
            ("C:/some/path/ParentBeans.xml");

       ApplicationContext childContext = new FileSystemXmlApplicationContext
            (new String[]{"C:/some/path/ChildBeans1.xml", "C:/some/path/ChildBeans2.xml"}, parentContext);
  

如果我将目录上的文件移到另一个目录中(例如),它会没问题吗?

只要你的文件路径正确且可以访问 - 它就可以了。