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

homeAccount

我的同事们经常使用“应用程序上下文”一词。在许多文章中,这种搭配也经常使用。

我目前的理解:应用程序上下文是单个xml文件。

但是我知道,如果我是对的,人们将不会使用“应用程序上下文”而不是配置xml文件。

您能帮我解决这个问题吗?

路易吉·门多萨

@feak给出了关于ApplicationContextSpring含义的直接答案简而言之,它是一个加载配置的对象(通常基于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...
        }
    }
    
  • 如果Java Web应用程序使用Spring MVC,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或另一个位置)并由单个应用程序上下文加载。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

应用程序和请求上下文是什么?

来自分类Dev

根上下文/应用程序上下文和Servlet上下文

来自分类Dev

获取应用程序上下文返回null

来自分类Dev

来自应用程序上下文的FragmentManager

来自分类Dev

Spring递归加载应用程序上下文

来自分类Dev

Spring应用程序上下文为null

来自分类Dev

Tizen应用程序上的上下文菜单

来自分类Dev

Android Webview应用程序上下文

来自分类Dev

从CommandLinerRunner获取应用程序上下文

来自分类Dev

Spyne与Flask应用程序上下文

来自分类Dev

在应用程序上下文之外工作-Flask

来自分类Dev

在活动中调用应用程序上下文

来自分类Dev

Android中的应用程序上下文

来自分类Dev

获取应用程序上下文错误

来自分类Dev

Spring root应用程序上下文和servlet上下文混淆

来自分类Dev

从Spring安全性上下文访问应用程序上下文

来自分类Dev

在应用程序上下文之后加载上下文

来自分类Dev

Android获取Android库上下文与应用程序上下文

来自分类Dev

活动上下文与应用程序上下文

来自分类Dev

为什么烧瓶中的应用程序上下文不是应用程序的单例?

来自分类Dev

Spring应用程序-应用程序上下文IOC

来自分类Dev

无法在 Spring Boot 应用程序中加载应用程序上下文

来自分类Dev

eclipse e4中的应用程序上下文和工作台上下文之间有什么区别?

来自分类Dev

为什么我们在Android的短信管理器中使用应用程序上下文

来自分类Dev

在“往返”应用程序的上下文中,“单页应用程序”是什么意思?

来自分类Dev

IllegalStateException:无法初始化上下文,因为已经存在根应用程序上下文

来自分类Dev

如何在安全上下文中使用@Autowiring从应用程序上下文中调用bean

来自分类Dev

从Flask应用程序中的外部应用程序上下文访问应用程序对象

来自分类Dev

如何从Eclipse中的命令处理程序事件中找出应用程序上下文

Related 相关文章

  1. 1

    应用程序和请求上下文是什么?

  2. 2

    根上下文/应用程序上下文和Servlet上下文

  3. 3

    获取应用程序上下文返回null

  4. 4

    来自应用程序上下文的FragmentManager

  5. 5

    Spring递归加载应用程序上下文

  6. 6

    Spring应用程序上下文为null

  7. 7

    Tizen应用程序上的上下文菜单

  8. 8

    Android Webview应用程序上下文

  9. 9

    从CommandLinerRunner获取应用程序上下文

  10. 10

    Spyne与Flask应用程序上下文

  11. 11

    在应用程序上下文之外工作-Flask

  12. 12

    在活动中调用应用程序上下文

  13. 13

    Android中的应用程序上下文

  14. 14

    获取应用程序上下文错误

  15. 15

    Spring root应用程序上下文和servlet上下文混淆

  16. 16

    从Spring安全性上下文访问应用程序上下文

  17. 17

    在应用程序上下文之后加载上下文

  18. 18

    Android获取Android库上下文与应用程序上下文

  19. 19

    活动上下文与应用程序上下文

  20. 20

    为什么烧瓶中的应用程序上下文不是应用程序的单例?

  21. 21

    Spring应用程序-应用程序上下文IOC

  22. 22

    无法在 Spring Boot 应用程序中加载应用程序上下文

  23. 23

    eclipse e4中的应用程序上下文和工作台上下文之间有什么区别?

  24. 24

    为什么我们在Android的短信管理器中使用应用程序上下文

  25. 25

    在“往返”应用程序的上下文中,“单页应用程序”是什么意思?

  26. 26

    IllegalStateException:无法初始化上下文,因为已经存在根应用程序上下文

  27. 27

    如何在安全上下文中使用@Autowiring从应用程序上下文中调用bean

  28. 28

    从Flask应用程序中的外部应用程序上下文访问应用程序对象

  29. 29

    如何从Eclipse中的命令处理程序事件中找出应用程序上下文

热门标签

归档