ApplicationContext是什么?
ApplicationContext是比BeanFactory更加强大的spring容器,它既可以创建Bean、获取bean,还支持国际化、事件广播、获取资源等BeanFactory不具备的功能。
ApplicationContext继承的接口
EnvironmentCapatle
ApplicationContext继承这个接口,表示拥有了获取环境变量的功能,可以通过ApplicationContext获取操作系统环境变量和JVM环境变量。
ListableBeanFactory
ApplicationContext继承这个接口,就拥有了获取所有beanNames,判断某个beanNames是否存在所有beanNames是否存在beanDefinition对象、统计beanDefinition个数、获取某个类相对应的所有beanNames等功能。
HierarchicalBeanFactory
ApplicationContext继承这个接口,就拥有了获取父BeanFactory、判断某个name是否存在Bean对象的功能。
MessageSource
ApplicationContext继承这个接口,就拥有了国际化功能,比如可以直接利用MessageSource对象获取某个国际化资源(比如不同国家语言所对应的字符)
AppleicationEbentPublisher
ApplicationContext继承这个接口,就拥有了事件发布功能,可以发布事件,这是ApplicationContext相对于BeanFactory比较突出、常用的功能。
ResourcePatternResolver
ApplicationContext继承这个接口,就拥有了加载并获取资源的功能,这里的资源可以是文件,图片等某个URL资源都可以。