您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

应用程序上下文。这是什么?

应用程序上下文。这是什么?

@feak给出了关于ApplicationContextSpring 含义的直接答案。简而言之,它是一个加载配置的对象(通常 基于 XML 文件 注释的对象),然后Spring将开始管理Bean及其好处:

要启动应用程序上下文,可以使用以下方法之一:

在应用程序的开头手动加载应用程序上下文。这是出于示例目的或在独立应用程序中完成的:

public class Foo {
public static void main(String[] args) {
    ApplicationContext context =
        new ClassPathXmlApplicationContext("path/to/applicationContext.xml");
    //use the context as you wish...
}

}

如果使用Spring MVC的Java Web应用程序,DispatchServlet它将为您加载应用程序上下文,因此您只需要在应用程序的WEB-INF文件夹中创建 springapp-servlet.xml 文件

请注意, (是否基于XML) 。期。

了解了这一点之后,您还可以理解每个应用程序可以拥有多个应用程序上下文。ApplicationContext也就是说,在同一应用程序中有两个或多个。在控制台应用程序中的最后一个示例中,这很容易检查:

public class Foo {
    public static void main(String[] args) {
        ApplicationContext context =
            new ClassPathXmlApplicationContext("path/to/applicationContext.xml");
        ApplicationContext context2 =
            new ClassPathXmlApplicationContext("path/to/applicationContext.xml");
        //use the context as you wish...
    }
}

请注意,我们有两个使用相同XML配置的应用程序上下文。你能做这个吗?是的,您实际上在这里看到它。那有什么区别呢?的 不同之处在于春豆单范围是singleton ,这意味着检索时Bar是在applicationContext.xml文件配置为从豆context 的,从检索它context2,但几个检索context将返回相同的Barbean实例。

这是好事还是坏事? 取决于要解决的问题(在最后一个示例的情况下,我会说这是一种 做法)。大多数人会建议将所有bean配置在一个位置(通过XML或另一个位置)并由单个应用程序上下文加载。

其他 2022/1/1 18:17:41 有503人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶