我学过:
“应用程序上下文”的三种常用实现是 -
FileSystemXmlApplicationContext
− 该容器加载定义
来自 XML 文件的 bean。这里需要提供完整路径
将 XML bean 配置文件传递给构造函数。
ClassPathXmlApplicationContext
− 该容器加载定义
来自 XML 文件的 bean。此处您无需提供
XML 文件的完整路径,但需要正确设置 CLASSPATH
因为这个容器将查找 bean 配置 XML 文件
类路径。
WebXmlApplicationContext
− 该容器加载 XML 文件
Web 应用程序中所有 bean 的定义。
那么 Spring Boot 怎么样呢?我读过一些文章,如何获取ApplicationContext:
> public class A implements ApplicationContextAware {
>
> private ApplicationContext applicationContext;
>
> @Override
> public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
> this.applicationContext = applicationContext;
> }
>
> }
但是 Spring Boot 中到底使用了哪种应用程序上下文实现呢?
Spring Boot 应用程序的入口点是SpringApplication目的。您可以通过其选择要使用的实现setApplicationContextClass(Class)方法。它的 javadoc 指出
设置 Spring 的类型ApplicationContext
将被创建。如果
未指定默认为DEFAULT_SERVLET_WEB_CONTEXT_CLASS
用于网络
基于应用程序或AnnotationConfigApplicationContext
对于非网络
基于应用程序。
其中列出了defaults如果你不使用该方法,即。
org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext
对于基于网络的应用程序和
org.springframework.context.annotation.AnnotationConfigApplicationContext
对于非基于网络的应用程序。
还有一个反应式 Web 环境的默认值.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)