java程序设计开发,设计思想Spring开源框架-IOC与AOP-ApplicationContext 学习笔记
Java 程序设计开发:Spring 框架 - IOC 核心容器 ApplicationContext 学习笔记
一、ApplicationContext 核心概念与定位
定义:
- ApplicationContext 是 Spring 框架中高级 IoC 容器,继承自
BeanFactory
,在其基础上扩展了企业级功能(如事件机制、国际化、资源加载、Web 环境支持等),是 Spring 应用的核心容器。 - 本质:BeanFactory 的增强版,提供更便捷的配置方式(注解优先)和更丰富的生态集成。
核心目标:
- 简化企业级应用开发,提供开箱即用的功能(如 AOP、事务管理、Web MVC 支持)。
- 统一管理应用中的 Bean,控制其生命周期和依赖关系。
二、ApplicationContext 体系结构与核心实现类
1. 接口继承关系
BeanFactory
└─ ApplicationContext
├─ ConfigurableApplicationContext (可配置的上下文,支持启动/关闭)
├─ WebApplicationContext (Web环境扩展,如获取Servlet上下文)
└─ ApplicationEventPublisher (事件发布接口)
2. 常用实现类
3. 核心优势(对比 BeanFactory)
三、ApplicationContext 核心功能与特性
1. Bean 管理增强
(1)自动扫描与组件注册
- 注解驱动:通过
@ComponentScan
扫描指定包下的@Component
/@Service
/@Repository
/@Controller
注解,自动注册 Bean。@Configuration @ComponentScan("com.example.service") // 扫描service包下的组件 public class AppConfig { // 其他配置... }