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

news/2024/11/19 11:19:59/

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


http://www.ppmy.cn/news/1103740.html

相关文章

2023Web前端开发面试手册

​​​​​​​​ HTML基础 1. HTML 文件中的 DOCTYPE 是什么作用? HTML超文本标记语言: 是一个标记语言, 就有对应的语法标准 DOCTYPE 即 Document Type,网页文件的文档类型标准。 主要作用是告诉浏览器的解析器要使用哪种 HTML规范 或 XHTML规范…

引入Bootstrap的CSS样式后,<h>标签、<p>标签等HTML自带的标签被覆写没有?答:覆写了。

引入Bootstrap的CSS样式后,标签、 标签等HTML自带的标签被覆写没有?答:覆写了。 为什么这么说?证据呢? 写一个实例,然后调试模式看一下不就得了。 先看没有引入引入Bootstrap的CSS样式情况。 代码如下: …

详解 Cent OS JDK 8.0 安装配置

环境配置 云服务器云耀云服务器L操作系统CentOS 7.9 64bit | 公共镜像JDK版本64 bit JDK 1.8 下载地址 JDK官网下载地址Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#java8百度网盘 ARM64 链接:https://pan.baidu.com/s/1wQ1mp…

ICCV 2023 LLIE,MEC,MEF相关论文列表

ICCV 2023,实际paper list还没有开源出来,只是从会议的网站上看得到标题,用这个标题去搜,如果作者有放预印版在arxiv,就能搜得到(半数是有的) 直接领域 Iterative Prompt Learning for Unsupe…

自学Python02-学会Python中的if语句

亲爱的同学们,今天我们将学习 Python 中的一个非常重要的语句,那就是 if 语句。if 语句可以帮助我们判断一个条件是否成立,如果条件成立,它将执行相应的代码块。现在,让我们一起来学习如何使用 if 语句吧! …

L3 Hive操作

示例: 1.建表 create table t_dml (detail_id bigint,sale_date date,province string,city string,product_id bigintcnt double,amt double, )row format delimited fields terminated by ,; //列分隔符create table t_product(product_id bigint,product_name …

探索GreatADM:如何快速定义监控

引文 在数据库运维过程中,所使用的运维管理平台是否存在这样的问题: 1、默认监控粒度不够,业务需要更细颗粒度的监控数据。2、平台默认的监控命令不适合,需要调整阈值量身定制监控策略。3、不同类型的实例或组件需要有不同的监控重点,但管理平台监控固…

你不能不了解的Java23中设计模式之【抽象工厂模式】

目录 一.介绍抽象工厂模式 1.概念 2.结构: 抽象工厂模式包含以下角色: 3.工作原理: 4.应用场景: 抽象工厂模式适用于以下情况: 5.使用方法: 二.具体实例通过抽象工厂模式实现计算器 1.创建Maven工程…