beanfactory
1.applicationcontext的父接口
2.是Spring的核心容器
功能
表面只有getBean,但实现类默默发挥了巨大作用
1.管理所有bean
2.控制反转
3.基本的依赖注入
applicationcontext
功能
1.继承了MessageSource,有了处理国际化资源的能力
context.getMessage("hi",null,locale.CHINA)//参数:翻译内容,配置,语言类型
2.继承了ResourcePatternResolver,有了根据通配符匹配多个资源的能力
context.getResource(classpath:application.properties)//参数:资源
3.继承了ApplicationEventPublisher,有了发布事件对象的能力
context.getEnvironment().getProperty("java_home")//环境变量名称
4.继承了EnvironmentCapable,有了读取、处理环境信息的能力,用于解耦
context.publishEvent(new UserRegisteredEvent(context));//参数:事件源
监听器(增加方法)
//无返回值,名字随意,参数固定
@EventListener
public void aaa(UserRegisteredEvent event){
log.debug("{}",event)
}
beanfactory和applicationcontext的关系
applicationcontext间接继承了beanfactory,applicationcontext把beanfactory作为成员变量
applicationcontext的功能更多