【JavaSpring】spring接口-beanfactory和applicationcontext与事件解耦

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的功能更多

【JavaSpring】spring接口-beanfactory和applicationcontext与事件解耦_第1张图片

你可能感兴趣的:(JavaSpring,spring,java,后端)