简单的 Spring Boot 应用程序中使用了哪种 ApplicationContext 实现?

2023-12-02

我学过:

“应用程序上下文”的三种常用实现是 -

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(使用前将#替换为@)

简单的 Spring Boot 应用程序中使用了哪种 ApplicationContext 实现? 的相关文章

  • Java 8 中异常类型推断的一个独特功能

    在为该网站上的另一个答案编写代码时 我遇到了这个特性 static void testSneaky final Exception e new Exception sneakyThrow e no problems here nonSnea
  • 如何在Java中使用我的密码加密和解密字符串(PC而非移动平台)? [复制]

    这个问题在这里已经有答案了 我想加密一个字符串然后将其放入文件中 当我想要的时候也想解密它 我不需要很强的安全性 我只是想让其他人更难获取我的数据 我尝试了几种方法 这是这些 Md5加密 如何在 Android 中对字符串进行哈希处理 ht
  • JTree 避免重新加载后崩溃

    我正在尝试找到解决崩溃问题的方法JTree重新加载后 情况 JTree Office A Office A 1 Office A 1 1 Office A 1 2 Office B Office B 1 Office B 1 1 Offic
  • 克隆 dom.Document 对象

    我的目的是将xml文件读入Dom对象 编辑dom对象 其中涉及删除一些节点 完成此操作后 我希望将 Dom 恢复到其原始状态 而不实际解析 XML 文件 无论如何 我可以克隆第一次解析 xml 文件后获得的 dom 对象吗 这个想法是避免一
  • Spring批量写入器限制

    我正在工作 Spring Batch 项目 从数据库读取记录然后写入rabbitmq 然后发送到HTTP消息网关 网关有150TPS我需要将我的应用程序限制为 150TPS 有没有办法带弹簧批的油门或者还有其他更好的方法吗 你能行的 在 S
  • android.os.FileUriExposedException 在 Oreo 中引起(仅!)[重复]

    这个问题在这里已经有答案了 从 Google Play Console 中 我可以看到此异常仅发生在 Android 8 0 的设备上 android os FileUriExposedException at android os Str
  • Java 7 中新的 JNLP 缺少项目警告是怎么回事?

    从 Java 6 切换到 Java 7 后 我的 JNLP 仍然工作正常 但它现在抛出一系列如下错误 Missing Application Name manifest attribute for http blah com app jar
  • 如何使用jdbc驱动编写事务?

    我想使用 jdbc 编写一个事务java 我尝试过这个简单的交易 BEGIN TRANSACTION NL GO NL UPDATE table SET col test where id 1010 NL GO NL COMMIT 我尝试过
  • MongoDb Spring 在嵌套对象中查找

    我正在使用 Spring Data Mongodb 和这样的文档 id ObjectId 565c5ed433a140520cdedd7f attributes 565c5ed433a140520cdedd73 333563851 list
  • oracle.jdbc.driver.OracleDriver ClassNotFoundException

    这是我收到错误的代码 我的classes12 jar已作为外部 jar 导入 import java io IOException import java io PrintWriter import java sql Connection
  • 什么会导致“IO错误java.net.SocketException:选择失败”?

    我的笔记本电脑上运行一个服务器程序 相同的路由器和相同的代码 它工作正常 客户端可以连接 然而 当我将工作区复制到我的电脑并运行它时 我得到了这样的废话 IO错误java net SocketException 选择失败 这是代码 publ
  • 使用mapstruct映射不同类型列表的元素

    我们正在映射一个对象 该对象具有一个对象列表 这些对象都实现了父接口 但可能具有不同的实现 但当我们映射列表时 似乎只有来自 ParentClass 的值被映射 而不是来自子类的值 但直接映射子进程就可以了 public class Par
  • Maven编译错误:包不存在

    我正在尝试向现有企业项目添加 Maven 支持 这是一个多模块项目 前 2 个模块编译和打包没有问题 但我面临编译错误 我尝试在多个模块中使用相同的依赖项 我的结构是 gt parent gt pom xml gt module 1 gt
  • 在Java中,为什么某些变量首先需要初始化,而其他变量只需要声明?

    我试图更深入地理解我是否遗漏了一些关于 Java 何时需要变量初始化与简单声明的理解 在以下代码中 不需要为变量 row 赋值即可编译和运行 但变量 column 则需要赋值 注意 该程序没有任何用处 它已被修剪为仅显示此问题所需的内容 以
  • 如何强制 Spark 执行代码?

    我如何强制 Spark 执行对 map 的调用 即使它认为由于其惰性求值而不需要执行它 我试过把cache 与地图调用 但这仍然没有解决问题 我的地图方法实际上将结果上传到 HDFS 所以 它并非无用 但 Spark 认为它是无用的 简短回
  • 我的代码线程不安全吗?

    我编写了代码来理解 CyclicBarrier 我的应用程序模拟选举 每轮选出得票少的候选人 该候选人从竞争中淘汰以获得胜利 source class ElectoralCommission public volatile boolean
  • 使用 System.out.println 显示特殊字符

    我在将带有特殊字符的文本从网络服务发送或显示到数据库时遇到问题 在我的 Eclipse 上 我已将字符编码设置为 UTF 8 但它仍然不允许我显示字符 例如 像下面的代码一样简单的打印 String test System out prin
  • 如何在 logback 中启动时滚动日志文件

    我想配置 logback 来执行以下操作 记录到文件 当文件达到 50MB 时滚动文件 仅保留 7 天的日志 启动时始终生成一个新文件 滚动 除了最后一项 启动卷 外 我一切都正常 有谁知道如何实现这一目标 这是配置
  • eclipse.ui.menus 的名称过滤器

    我有一个菜单贡献 通过实现org eclipse ui menus扩展点 我想仅为特定文件扩展名 例如 pld 提供此菜单贡献 但我不知道如何使用 visibleWhen 来做到这一点 有任何想法吗 更新 到目前为止我的扩展点
  • 最新版本 6.* Struts2 支持 Tomcat 10 吗? [复制]

    这个问题在这里已经有答案了 最新版本 6 Struts2 支持 Tomcat 10 吗 异常启动过滤器 struts2 java lang ClassCastException class org apache struts2 dispat

随机推荐

  • 模糊匹配微小差异

    我有一列公司名称 我想计算该列中有多少家不同的公司 在本栏目中 一些相同的公司名称略有不同 例如 这些公司应该只计算一次 ASAHI INTECC CO LTD Asahi Intecc USA Inc ASAHI INTECC USA I
  • matplotlib 箭头和纵横比

    如果我运行这个脚本 import matplotlib pyplot as plt import pylab as plab plt figure plt plot 0 2 2 0 color c lw 0 5 plt plot 1 2 2
  • 排序向量查找的更快版本 (MATLAB)

    我在 MATLAB 中有以下类型的代码 indices find 1 2 2 3 3 3 4 5 6 7 7 3 这将返回 4 5 6 数组中元素的索引等于 3 现在 我的代码用很长的向量来做这种事情 向量是总是排序的 因此 我想要一个用
  • @csrf_exempt 不适用于基于通用视图的类

    class ChromeLoginView View def get self request return JsonResponse status request user is authenticated method decorato
  • 在Nativescript中获取mac地址和ip

    我们正在实现一个用于应用程序分发的服务器 我们需要通过以下方式限制对应用程序的访问 MAC地址 ip 目前我还没有找到任何可以在nativescript中从设备获取这些数据的模块 所以我不知道是否有插件或者我怎样才能实现这一点 在nativ
  • 带有 PathMatcher 的 DirectoryStream 不返回任何路径

    尽管我已经看到了很多类似问题的答案 但我无法使以下代码按我认为应该的方式工作 File dataDir new File C User user id PathMatcher pathMatcher FileSystems getDefau
  • 如何快速学习 Prism for Silverlight?

    我需要使用 Prism 制作 Silverlight 应用程序 学习使用 Silverlight Prism 制作简单应用程序的最佳方法是什么 还建议任何同样的好书 谢谢 我也有 daageu 提到的书 也会推荐它 但为了更快地加快学习 P
  • perl 子例程返回 array 和 str 但它们正在合并

    sub process feed my line my lines my last received while 1 if line push lines 1 line 2 else last received line last prin
  • 当文本字段等于字符串时,ios 使按钮更改视图

    我正在制作这种密码来跳过游戏中的关卡 但我不知道需要什么代码来使按钮更改视图控制器 IBAction button id sender if txt text isEqualToString passwordToSkipLevel1 Cod
  • 终止 Java 程序

    我找到了终止 关闭或停止 我的 Java 程序的方法 我找到了两个解决方案 using return 当我想退出或终止我的程序执行时 我添加这个 using 系统 exit 有时我也用过它 我读到系统 exit from 这个问题 所以 我
  • 锚标记的填充

    我有一个 asp net 页面 其代码如下所示
  • 我需要 ETL 吗?

    我们目前使用 Datastage ETL 每天导出包含 15 个表 3 个不同模式 中的数据的 CSV 文本文件 我想知道是否有一种更简单的方法可以在不使用 ETL 的情况下完成此任务 我尝试过脚本拉 它看起来简单 快速 但它又是一个 ET
  • 如何使用 objectMapper 设置 java.time.Instant 的字符串格式?

    我有一个实体java time Instant对于创建的数据字段 Getter Setter AllArgsConstructor NoArgsConstructor EqualsAndHashCode public class Item
  • Javafx 2.2 和雪豹

    我需要在 Mac 计算机上部署 JavaFX2 2 应用程序 OS X 10 7 或更高版本适用于 Java 7u7 OS X 10 6 怎么样 我们有什么解决办法吗 我认为 10 6 可以更新到 Java 6u35 并且我在某处读到 2
  • 如何从使用 /GL 编译的 .obj 文件确定主要编译器版本?

    我试图从以下位置确定 Visual Studio 版本 2002 2003 2005 2008 2010 2012 2013 2015 obj使用链接时间代码生成选项生成的文件 我使用 MSVC2012 生成的文件具有以下 COFF 标头内
  • 在 Javascript 中推送对象

    我需要在 Javascript 中将对象推送到数组 但每次推送都会覆盖我已经添加的相同对象 例如 This is object list var NewIssue This is array var newIssueList functio
  • 从索引的列/行数组填充出现次数矩阵

    我正在寻找一种有效的方法来从两个包含索引的数组创建出现矩阵 一个代表行索引在这个矩阵中 另一个是列矩阵 例如 我有 matrix will be size 4x3 in this example array of rows idxs wit
  • Python 中互斥锁的正确使用

    我从 python 中的多线程开始 或者至少我的脚本可能创建多个线程 这个算法是互斥体的正确用法吗 我还没有测试过这段代码 它可能根本无法工作 我只希望 processData 在一个线程中运行 一次一个 并且主 while 循环继续运行
  • 帐户仅限于 Google Classroom API

    我和我的同事有一个 C WPF 项目 它管理 Google Classroom 中的课程 我们在 Google API 平台中创建项目 我们是该项目的所有者 两者都有 OAuth 2 0 客户端 ID 但这并不重要 我允许 Classroo
  • 简单的 Spring Boot 应用程序中使用了哪种 ApplicationContext 实现?

    我学过 应用程序上下文 的三种常用实现是 FileSystemXmlApplicationContext 该容器加载定义 来自 XML 文件的 bean 这里需要提供完整路径 将 XML bean 配置文件传递给构造函数 ClassPath