栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

@feak给出了关于

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

  • 包中声明的Bean
  • 注释声明的Bean
  • 构造函数和方法自动装配
  • 豆类注射
  • 配置,.properties和.yaml文件加载
  • 等等

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

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

    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
将返回相同的
Bar
bean实例。

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/383275.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号