我对春天的应用程序上下文感到困惑。如果我使用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中? 总的来说,请在这一刻解释一下(我读到春天的行动,我几乎所有人都不理会,但这些棘手的时刻并没有在那里展示。
答案 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);
如果我将目录上的文件移到另一个目录中(例如),它会没问题吗?
只要你的文件路径正确且可以访问 - 它就可以了。