在独立Java类中使用ClassPathXmlApplicationContext

时间:2012-01-05 08:02:47

标签: java spring

我还没有接触到Spring。我在我的系统中的一个独立java项目中看到了下面的代码。能否帮助我理解下面的代码。我无法在项目中看到spring.xml - 它是否必须存在且缺失?

    appContext = new ClassPathXmlApplicationContext(new String[] {
        "classpath*:/META-INF/spring.xml",
        "classpath*:myapplication-application-context.xml"
        });

2 个答案:

答案 0 :(得分:8)

classpath*语法意味着Spring将在类路径中搜索名为/META-INF/spring.xmlmyapplication-application-context.xml的所有资源,并将它们合并到上下文中。这包括查看项目中的JAR文件,因此主项目文件中可能没有任何可见文件。

答案 1 :(得分:6)

Spring的核心功能围绕ApplicationContext,它是“为应用程序提供配置的中央界面。”此界面由ClassPathXmlApplicationContext实现,它可以帮助您从中获取上下文定义classpath .Hence你指定classpath *。

正如@skaffman所解释的那样,您的应用程序是从上述文件中的上下文定义加载的。即,所有Spring bean都已初始化,并且根据需要执行依赖注入。

如果您处理Web应用程序,Spring会有XmlWebApplicationContext

加载的相应Web应用程序上下文