gpt4 book ai didi

java - Spring:从哪里获取ApplicationContext?

转载 作者:行者123 更新时间:2023-11-30 03:16:04 25 4
gpt4 key购买 nike

我有一个 Spring 项目,其中包含以下代码:

@Autowired
public void setApplicationContext(ApplicationContext ctx) {
// Wiring
AppContext.setApplicationContext(ctx);
}

它设置applicationContext。从调试器中我可以看到 ctx 的类型为 AnnotationEmbeddedWebApplicatoinContext

我尝试查看调用堆栈以查看它在哪里获取这种类型的上下文而不是其他类型的上下文。但我没能追踪到它。在此之前的所有调用都是 Spring 内部调用。

从哪里得到这个类型?这个信息?来自 pom.xml 还是其他地方?

我的相关 pom 条目:

<!-- Spring Boot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>

当 Spring 看到 spring-boot-starter-web 时,它会使用那种 applicationContext 吗?

最佳答案

您正在使用 spring-boot ( http://projects.spring.io/spring-boot/ ),这是配置和使用 spring 应用程序的一种固执己见的方式。使用 boot 的优点是他们的理念是约定优于配置,因此只需很少的代码就可以得到很多东西。这意味着您无需创建和定义详细的 xml 配置文件(或 java 配置文件),因为 boot 会为您完成这些工作。

如果你想覆盖 spring-boot 的一些自动配置,我建议你查看他们的文档:

关于java - Spring:从哪里获取ApplicationContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32555396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com