技术疑问:为什么在现在的spring代码当中几乎没有看到Applicationcontext了
自动化配置和 Spring Boot
Spring Boot 通过自动配置(Auto-Configuration)简化了 Spring 应用的配置过程。以前在 Spring 中,开发者通常需要手动创建和管理 ApplicationContext 来加载 Bean,处理依赖注入等。
然而,在 Spring Boot 中,ApplicationContext 的创建和初始化由框架自动完成。
Spring Boot 使用的核心类 SpringApplication 会自动创建 ApplicationContext,并进行必要的初始化。这意味着开发者不需要显式地管理上下文实例,大大减少了代码中的样板代码
注解驱动开发
Spring 通过注解如 @Component、@Service、@RestController 和 @Autowired 来处理 Bean 的注册和依赖注入。这种注解驱动的开发模式不再要求开发者通过 ApplicationContext 显式查找 Bean
依赖注入的简化
Spring 的 IoC(控制反转)容器使用 ApplicationContext 管理 Bean 的生命周期和依赖关系。在早期的 Spring 版本中,开发者可能会手动获取上下文中的 Bean,现在,Spring 的注解和自动配置功能已经完全接管了这一职责,使得开发者几乎不再需要直接与 ApplicationContext 打交道。依赖注入完全通过框架实现,减少了手动管理 Bean 的工作
测试和代码简化
在单元测试中,Spring Boot 提供了 @SpringBootTest 注解来启动应用上下文并进行依赖注入测试。这种方式取代了手动创建 ApplicationContext 的传统做法
BUT
尽管 Spring Boot 和现代 Spring 开发简化了大多数场景,但如果有必要,开发者仍然可以直接使用 ApplicationContext。例如,ApplicationContext 在复杂的多上下文应用、模块化应用或需要手动管理 Bean 的场景中仍然非常有用