[英]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.