繁体   English   中英

春天:它从哪里获得ApplicationContext?

[英]Spring: where does it get ApplicationContext?

我有一个带有以下代码的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配置文件),因为启动会为您完成。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM