这是一个接口的类图,表示 ApplicationContext 接口的继承关系和方法:
+---------------------+
| ApplicationContext |
+---------------------+
| -environment : Environment |
| -parent : ApplicationContext |
+---------------------+
| +getBean(String name) : Object|
| +publishEvent(ApplicationEvent event) : void|
| +getParent() : ApplicationContext|
| +containsBean(String name) : boolean|
| +getBeanDefinitionCount() : int|
| +getBeanNamesForType(Class<?> type) : String[]|
| +getBeansOfType(Class<T> type) : Map<String,T> |
| +getMessage(String code, Object[] args, String defaultMessage, Locale locale) : String |
| +getResource(String location) : Resource |
+---------------------+
说明:
- ApplicationContext 接口继承了多个其他接口:EnvironmentCapable、ListableBeanFactory、HierarchicalBeanFactory、MessageSource、ApplicationEventPublisher 和 ResourcePatternResolver。
- environment 属性表示应用程序环境,比如配置文件路径、数据源等。
- parent 属性表示父容器,用于实现分层结构。
- getBean() 方法用于从容器中获取指定名称的 Bean 实例。
- publishEvent() 方法用于发布应用程序事件。
- getParent() 方法返回当前容器的父级容器。
- containsBean() 方法判断是否包含指定名称的 Bean 实例。
- getBeanDefinitionCount() 方法返回当前容器中注册的 Bean 定义数量。
- getBeanNamesForType() 方法根据类型获取所有符合条件的 Bean 的名称数组。
- getBeansOfType() 方法根据类型获取所有符合条件的 Bean 的名称与实例的映射。
- getMessage() 方法根据代码、参数、默认消息和区域设置获取本地化消息。
- getResource() 方法根据指定位置获取资源对象。