首页 > 解决方案 > spring boot servlet上下文与应用程序上下文

问题描述

我来自Spring MVC多年,我试图了解 Spring boot 的一些关键差异。

使用 Spring MVC,我曾经非常清楚地区分application contextservlet context(s)

使用 Spring boot,servlet 上下文似乎已被弃用,所有通过自动配置机制创建的 bean都存在于应用程序上下文中。

当然,您仍然可以创建您的 servlet 上下文,您只需要记住自动配置正在使用应用程序上下文。

例如,这意味着@RestControllers 和@Controllers 存在于应用程序上下文中,并且 Spring Boot 自动配置 servlet 调度程序将在应用程序上下文中使用任何@RestController@Controller带注释的 bean。

你能帮我确认一下还是让我明白我在这里缺少什么?

标签: springspring-boot

解决方案


在 spring-springMVC 系统中,您提到了两个容器。对于 springboot-springMVC,通过实现 ApplicationContextAware 在您的控制器和服务中进行调试

服务环境

控制器中的上下文

他们使用相同的全局 applicationContext

org.springframework.boot.web.servlet.contextAnnotationConfigServletWebServerApplicationContext

推荐阅读