- vue3面试题(个人笔记)
武昌库里写JAVA
面试题汇总与解析课程设计springbootvue.jsjava学习
vue3比vue2有什么优势?性能更好,打包体积更小,更好的ts支持,更好的代码组织,更好的逻辑抽离,更多的新功能。描述Vue3生命周期CompositionAPI的生命周期:onMounted()onUpdated()onUnmounted()onBeforeMount()onBeforeUpdate()onBeforeUnmount()onErrorCaptured()onRenderTrac
- Python pyautogui 操作鼠标
HappyBirthday 9527
Pythonpython计算机外设开发语言
importtimeimportosimportpyautoguivalue=True;try:whilevalue:x,y=pyautogui.position()pos="鼠标当前位置:{},{}".format(str(x),str(y))print(pos)time.sleep(0.2)os.system('cls')exceptKeyboardInterrupt:print("end..
- pyautogui库的一些鼠标操作
深蓝海拓
基于视觉的速度测量项目计算机外设python计算机视觉
pyautogui是一个跨平台的自动化库,提供了很多方便的功能,包括获取鼠标位置和对鼠标进行一些操作。pyautogui.position()获取当前鼠标位置pyautogui.position():获取当前鼠标光标在屏幕上的位置。1.功能返回当前鼠标光标在屏幕上的坐标位置,返回值是一个元组(x,y),分别表示鼠标光标在屏幕水平方向(x轴)和垂直方向(y轴)上的像素位置。2.返回值•返回类型:tu
- 【论文阅读】【IEEE TCYB 2023】Edge-Guided Recurrent Positioning Network forSalient Object Detection in Opt
引言任务:光学遥感图像中显著目标检测论文地址:Edge-GuidedRecurrentPositioningNetworkforSalientObjectDetectioninOpticalRemoteSensingImages|IEEEJournals&Magazine|IEEEXplore代码地址:前置知识一、摘要目前由于光学rsi中目标类型多样、目标尺度多样、目标方向众多以及背景杂乱,现有S
- ER综述论文阅读-Emotion recognition in EEG signals using deep learning methods: A review
今天早睡了
情绪识别EmotionRecognition论文阅读深度学习人工智能
EmotionrecognitioninEEGsignalsusingdeeplearningmethods:AreviewQ1期刊,2023论文链接:https://d1wqtxts1xzle7.cloudfront.net/105887899/emotionreview-libre.pdf?1695460941=&response-content-disposition=inline%3B+f
- 【CSS】文本超过行数显示“展开”、“收起”
扶我起来还能学_
css前端
使用css样式控制文本超过行数显示“展开”、“收起”css代码如下:.container{width:800px;position:relative;padding-bottom:20px;}.content{overflow:hidden;line-height:1;/*最多展示几行就(n*line-height)em,*/height:3em;background:yellow;}.more{
- Vue3 面试不再慌:这 8 个问题答得好,基本稳了!
掘金安东尼
vue.js前端javascript
面试Vue3岗位,真的只是复习CompositionAPI、生命周期和响应式吗?你以为自己准备得差不多了,但一上来,面试官问的是:“Vue3中的响应式是怎么实现的?和Vue2有什么本质不同?”——你还在“setup里写逻辑就完事了”的认知,可能就被这一问击穿了。作为Vue开发者,这些年我面过别人,也被别人面过。今天就来整理一份Vue3面试高频问题+高质量回答,不止是应试,更是一次知识体系的整理升级
- 【AI大模型】Transformer架构位置编码
我爱一条柴ya
学习AI记录人工智能神经网络aiAI编程
Transformer架构中的位置编码(PositionalEncoding)是其核心设计之一,用于解决一个关键问题:Self-Attention机制本身对输入元素的顺序是“无感知”的(permutationinvariant)。问题:为什么需要位置编码?Self-Attention的本质缺陷:Self-Attention通过计算所有元素对之间的关联来工作。然而,它只关心元素是什么(x_i的内容)
- 多模态大语言模型arxiv论文略读(152)
胖头鱼爱算法
#mllm_arxiv语言模型人工智能自然语言处理论文笔记论文阅读
VidComposition:CanMLLMsAnalyzeCompositionsinCompiledVideos?➡️论文标题:VidComposition:CanMLLMsAnalyzeCompositionsinCompiledVideos?➡️论文作者:YunlongTang,JunjiaGuo,HangHua,SusanLiang,MingqianFeng,XinyangLi,RuiM
- js实现百度地图的自定义marker与css3动画的交互
沈大大520
css3动画扩展自定义百度地图makerjscss3javascript前端html5
使用过百度地图,业务需求需要对某些特定标记物进行高亮和动画标记,因此采用css3对百度地图的marker组件进行动态效果的调试,一:调用百度地图的apiDocument.map{width:100%;height:100%;background:#d5e6f5;position:absolute;float:left;}二:初始化百度地图创建实例varmap=newBMapGL.Map("map"
- Vue3面试必刷36题(2024最新版)
systemseer
面试职场和发展
文章目录一、基础概念篇1.Vue3相比Vue2有哪些重大改进?(必考!!!)2.OptionsAPIvsCompositionAPI如何选择?二、核心机制篇3.为什么Vue3用Proxy代替defineProperty?4.ref和reactive有什么区别?(高频题)三、进阶实战篇5.组件通信方式大全(超级重要)6.如何实现权限按钮控制?四、性能优化篇7.项目打包体积太大怎么破?8.长列表渲染卡
- Cesium billboard 实现动态效果
swift1224L
Cesium前端开发语言webgl
Cesiumbillboard实现动态效果自转、跳动、闪烁、旋转等动态效果加载GIF自转、跳动、闪烁、旋转等动态效果/***利用BillboardGraphics的scale、rotation、width、position属性和和CallbackProperty实现动态改变entitybillboard*/loadDynamicBillboardByEntity(viewer:Cesium.Vie
- uni-app学习笔记二十一--pages.json中tabBar设置底部菜单项和图标
moxiaoran5753
uni-app学习笔记
如果应用是一个多tab应用,可以通过tabBar配置项指定一级导航栏,以及tab切换时显示的对应页。在pages.json中提供tabBar配置,不仅仅是为了方便快速开发导航,更重要的是在App和小程序端提升性能。在这两个平台,底层原生引擎在启动时无需等待js引擎初始化,即可直接读取pages.json中配置的tabBar信息,渲染原生tab。Tips当设置position为top时,将不会显示i
- HTML第八章 定位网页元素
北城以北_软考必过
html前端css3html5
第八章定位网页元素文章目录第八章定位网页元素1.定位position1.1static默认值1.2relative相对定位1.3absolute绝对定位1.4fixed固定定位2.z-index属性3.网页元素透明度1.定位position1.1static默认值static默认值,没有定位,以标准流方式显示1.2relative相对定位relative相对定位,偏移设置:top、left、rig
- 数据字典在需求分析上的作用
workflower
mysqlsql数据库软件工程极限编程敏捷流程需求分析
Adatadictionaryisacollectionofdetailedinformationaboutthedataentitiesusedinanapplication.Collectingtheinformationaboutcomposition,datatypes,allowedvalues,andthelikeintoasharedresourceidentifiesthedata
- uniapp的光标跟随和打字机效果
打不着的大喇叭
uniappuni-appjavascript前端
1、准备好容器文字的显示textRef,以及光标的显示,使用transform-translate对光标进行移动到文字后面2、准备样式样式,你可以自定义,不必安装我的,主要是光标的闪烁动画.container{position:relative;width:100%;height:100vh;box-sizing:border-box;padding:30rpx20rpx;.cursor{posi
- Aletheia 情感智能模型:完整实现
Aletheia情感智能模型,整合所有核心模块并解决之前指出的问题。这个实现包含完整的神经动力学系统、多模态情感融合、伦理约束场和量子意识接口。importnumpyasnpimportmatplotlib.pyplotaspltfromscipy.integrateimportodeintfromsklearn.decompositionimportPCAimporttorchimporttor
- html2Canvas不支持object-fit属性导致图片变形了
懒大王、
前端css3
html2Canvas是不支持object-fit属性data(){return{leftImageStyle:{position:'absolute',width:'1952px',height:'3600px',left:'0',top:'0'}};},mounted(){this.$nextTick(()=>{this.calculateImageDimensions();});},calc
- Vue 3 - JavaScript细节大揭秘
碧海蓝天·
vue.jsjavascript前端JavaScript
在学习Vue3的过程中,我们可能会发现一些令人惊讶的JavaScript细节,这些细节可能之前我们并不知道。本文将探讨一些Vue3中的JavaScript细节,并提供相应的源代码示例。CompositionAPIVue3引入了CompositionAPI,它是一种新的API风格,可以让我们更灵活地组织我们的代码。在Vue2中,我们使用OptionsAPI来定义组件,而在Vue3中,我们可以选择使用
- 定位问题position
1.relative相对对位:占有原来的位置。以浏览器为准定位进行移动top/left/right/bottom2.absolute绝对定位:不占有原来的位置(脱标)如果没有祖先元素或者祖先元素没有定位,以浏览器为准定位;如果祖先元素有定位(相对、绝对、固定),则以最近一级的有定位祖先元素为参考点移动位置;加了绝对定位的盒子不能通过margin:0auto垂直水平居中,但可以通过算法居中left:
- css滑块开关的使用,CSS3制作滑块按钮
滑块按钮-渣图.gif查看demo结构先整理一下,这个按钮的层。分层.gif样式body{background:#eee;}/*--用绝对定位让整个按钮在页面垂直居中--*/.toggle-wrapper{position:absolute;;left:50%;top:50%;overflow:hidden;margin-left:-60px;/*--按钮向左移动一半的宽度--*/margin-t
- html 滑块按钮,纯css的滑块开关按钮
吴君君
html滑块按钮
之前在项目中使用滑块开关按钮,纯css写的,不考虑兼容低版本浏览器,先说下原理:使用checkbox的选中checked属性改变css伪类样式,一定要使用-webkit-appearance:none;先清除checkbox的默认样式,否则写其他的样式不起作用;好,不多说,直接上代码:css滑块开关.checke{position:relative;-webkit-appearance:none;
- Android 腾讯地图获取当前缩放级别
nc_kai
Android腾讯地图android
Android腾讯地图获取当前缩放级别tencentMap.setOnCameraChangeListener(newTencentMap.OnCameraChangeListener(){@OverridepublicvoidonCameraChange(CameraPositioncameraPosition){}@OverridepublicvoidonCameraChangeFinishe
- UniApp Vue3 模式下实现页面跳转的全面指南
1.引言1.1UniApp与Vue3的结合优势UniApp是一个使用Vue.js开发所有前端应用的框架,支持编译到iOS、Android、H5、以及各种小程序平台。Vue3提供了更高效的响应式系统和CompositionAPI,使开发体验更加现代化和灵活。1.2页面跳转在应用开发中的重要性页面跳转是用户交互的核心功能之一,良好的跳转逻辑可以提升用户体验并增强应用结构的清晰度。2.UniApp原生导
- 在屏幕中心显示定位点
letposition=this.map.getCenter();this.$ownerInstance.callMethod('savePoint',{//调用Vue组件中的方法position});//转换屏幕坐标varpixel=this.map.lngLatToContainer(position);this.$ownerInstance.callMethod('saveMap',{//调
- <script setup>中的setup作用以及和不带的区别对比
在Vue3中,setup函数是CompositionAPI的核心入口,其作用与“不带setup”(即传统OptionsAPI)的区别主要体现在代码组织、复用性、类型支持等方面。以下是具体分析:一、setup的作用初始化响应式状态在setup中,可以通过ref和reactive创建响应式数据,替代OptionsAPI中的data选项[1][3]。示例:setup(){constcount=ref(0
- ugui unity 图片缩放循环_unity ugui缩放+移动
weixin_39636245
uguiunity图片缩放循环
本文仅仅记录自己在工作中踩到的ugui的坑。并讲述如何填的坑。干货罗列在前,不愿意看的,拿东西走人,自己研究:RectTransformm_Rectm_Rect.localPositionm_Rect.rect(m_Rect.rect.widthm_Rect.rect.height)m_Rect.pivotm_Rect.sizeDelta关于ugui的排版方面,刚上手的时候,觉得:哎哟!不错,这个
- 从Apollo record文件中提取坐标信息绘制地图轨迹
Hi20240217
代码片段学习Apollo自动驾驶地图
从Apollorecord文件中提取坐标信息绘制地图轨迹一、背景二、操作步骤2.1下载record文件并解压2.2查看record文件信息2.3查询Sunnyvale的经纬度2.4从record中提取position绘制地图轨迹2.5绘制卫星地图轨迹2.6运行脚本三、技术总结一、背景自动驾驶技术的发展离不开大量真实道路数据的收集和分析。百度Apollo平台使用record文件格式记录车辆在实际道路
- Excel 中什么数据应该用什么图?(柱状图、折线图、饼图、条形图的适用场景)
冰糖心书房
Excelexcel信息可视化数据分析
选对图表类型,是数据可视化成功的前提。我们可以通过一个简单的框架来选择最合适的图表。首先问自己一个核心问题:我想通过图表传达什么信息?通常可以归结为以下四种之一:比较(Comparison):我想比较不同类别项目的大小。趋势(Trend):我想展示数据随时间的变化。构成(Composition):我想展示一个整体由哪些部分组成,以及各部分的比例。关系(Relationship):我想探究两个或多个
- 前端项目3-02:登录页面
航Hang*
webstorm前端项目前端csscss3htmlhtml5
一、效果图二、全部代码码农魔盒body{background:linear-gradient(toright,#65CBF7,#B3A5FC);width:100vw;height:100vh;margin:0;}.box{width:60%;height:450px;box-shadow:05px15pxrgba(0,0,0,.8);display:flex;position:fixed;top
- Enum 枚举
120153216
enum枚举
原文地址:http://www.cnblogs.com/Kavlez/p/4268601.html Enumeration
于Java 1.5增加的enum type...enum type是由一组固定的常量组成的类型,比如四个季节、扑克花色。在出现enum type之前,通常用一组int常量表示枚举类型。比如这样:
public static final int APPLE_FUJI = 0
- Java8简明教程
bijian1013
javajdk1.8
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。
一.允许在接口中有默认方法实现
Java 8 允许我们使用default关键字,为接口声明添
- Oracle表维护 快速备份删除数据
cuisuqiang
oracle索引快速备份删除
我知道oracle表分区,不过那是数据库设计阶段的事情,目前是远水解不了近渴。
当前的数据库表,要求保留一个月数据,且表存在大量录入更新,不存在程序删除。
为了解决频繁查询和更新的瓶颈,我在oracle内根据需要创建了索引。但是随着数据量的增加,一个半月数据就要超千万,此时就算有索引,对高并发的查询和更新来说,让然有所拖累。
为了解决这个问题,我一般一个月会进行一次数据库维护,主要工作就是备
- java多态内存分析
麦田的设计者
java内存分析多态原理接口和抽象类
“ 时针如果可以回头,熟悉那张脸,重温嬉戏这乐园,墙壁的松脱涂鸦已经褪色才明白存在的价值归于记忆。街角小店尚存在吗?这大时代会不会牵挂,过去现在花开怎么会等待。
但有种意外不管痛不痛都有伤害,光阴远远离开,那笑声徘徊与脑海。但这一秒可笑不再可爱,当天心
- Xshell实现Windows上传文件到Linux主机
被触发
windows
经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下;之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛;
我是怎么操作的:
1、打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面;(经常第一步都不顺利,无法挂载Windo
- 类的加载ClassLoader
肆无忌惮_
ClassLoader
类加载器ClassLoader是用来将java的类加载到虚拟机中,类加载器负责读取class字节文件到内存中,并将它转为Class的对象(类对象),通过此实例的 newInstance()方法就可以创建出该类的一个对象。
其中重要的方法为findClass(String name)。
如何写一个自己的类加载器呢?
首先写一个便于测试的类Student
- html5写的玫瑰花
知了ing
html5
<html>
<head>
<title>I Love You!</title>
<meta charset="utf-8" />
</head>
<body>
<canvas id="c"></canvas>
- google的ConcurrentLinkedHashmap源代码解析
矮蛋蛋
LRU
原文地址:
http://janeky.iteye.com/blog/1534352
简述
ConcurrentLinkedHashMap 是google团队提供的一个容器。它有什么用呢?其实它本身是对
ConcurrentHashMap的封装,可以用来实现一个基于LRU策略的缓存。详细介绍可以参见
http://code.google.com/p/concurrentlinke
- webservice获取访问服务的ip地址
alleni123
webservice
1. 首先注入javax.xml.ws.WebServiceContext,
@Resource
private WebServiceContext context;
2. 在方法中获取交换请求的对象。
javax.xml.ws.handler.MessageContext mc=context.getMessageContext();
com.sun.net.http
- 菜鸟的java基础提升之道——————>是否值得拥有
百合不是茶
1,c++,java是面向对象编程的语言,将万事万物都看成是对象;java做一件事情关注的是人物,java是c++继承过来的,java没有直接更改地址的权限但是可以通过引用来传值操作地址,java也没有c++中繁琐的操作,java以其优越的可移植型,平台的安全型,高效性赢得了广泛的认同,全世界越来越多的人去学习java,我也是其中的一员
java组成:
- 通过修改Linux服务自动启动指定应用程序
bijian1013
linux
Linux中修改系统服务的命令是chkconfig (check config),命令的详细解释如下: chkconfig
功能说明:检查,设置系统的各种服务。
语 法:chkconfig [ -- add][ -- del][ -- list][系统服务] 或 chkconfig [ -- level <</SPAN>
- spring拦截器的一个简单实例
bijian1013
javaspring拦截器Interceptor
Purview接口
package aop;
public interface Purview {
void checkLogin();
}
Purview接口的实现类PurviesImpl.java
package aop;
public class PurviewImpl implements Purview {
public void check
- [Velocity二]自定义Velocity指令
bit1129
velocity
什么是Velocity指令
在Velocity中,#set,#if, #foreach, #elseif, #parse等,以#开头的称之为指令,Velocity内置的这些指令可以用来做赋值,条件判断,循环控制等脚本语言必备的逻辑控制等语句,Velocity的指令是可扩展的,即用户可以根据实际的需要自定义Velocity指令
自定义指令(Directive)的一般步骤
&nbs
- 【Hive十】Programming Hive学习笔记
bit1129
programming
第二章 Getting Started
1.Hive最大的局限性是什么?一是不支持行级别的增删改(insert, delete, update)二是查询性能非常差(基于Hadoop MapReduce),不适合延迟小的交互式任务三是不支持事务2. Hive MetaStore是干什么的?Hive persists table schemas and other system metadata.
- nginx有选择性进行限制
ronin47
nginx 动静 限制
http {
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=5r/s;...
server {...
location ~.*\.(gif|png|css|js|icon)$ {
- java-4.-在二元树中找出和为某一值的所有路径 .
bylijinnan
java
/*
* 0.use a TwoWayLinkedList to store the path.when the node can't be path,you should/can delete it.
* 1.curSum==exceptedSum:if the lastNode is TreeNode,printPath();delete the node otherwise
- Netty学习笔记
bylijinnan
javanetty
本文是阅读以下两篇文章时:
http://seeallhearall.blogspot.com/2012/05/netty-tutorial-part-1-introduction-to.html
http://seeallhearall.blogspot.com/2012/06/netty-tutorial-part-15-on-channel.html
我的一些笔记
===
- js获取项目路径
cngolon
js
//js获取项目根路径,如: http://localhost:8083/uimcardprj
function getRootPath(){
//获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
var curWwwPath=window.document.locati
- oracle 的性能优化
cuishikuan
oracleSQL Server
在网上搜索了一些Oracle性能优化的文章,为了更加深层次的巩固[边写边记],也为了可以随时查看,所以发表这篇文章。
1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。(这点本人曾经做过实例验证过,的确如此哦!
- Shell变量和数组使用详解
daizj
linuxshell变量数组
Shell 变量
定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:
your_name="w3cschool.cc"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用ba
- 编程中的一些概念,KISS、DRY、MVC、OOP、REST
dcj3sjt126com
REST
KISS、DRY、MVC、OOP、REST (1)KISS是指Keep It Simple,Stupid(摘自wikipedia),指设计时要坚持简约原则,避免不必要的复杂化。 (2)DRY是指Don't Repeat Yourself(摘自wikipedia),特指在程序设计以及计算中避免重复代码,因为这样会降低灵活性、简洁性,并且可能导致代码之间的矛盾。 (3)OOP 即Object-Orie
- [Android]设置Activity为全屏显示的两种方法
dcj3sjt126com
Activity
1. 方法1:AndroidManifest.xml 里,Activity的 android:theme 指定为" @android:style/Theme.NoTitleBar.Fullscreen" 示例: <application
- solrcloud 部署方式比较
eksliang
solrCloud
solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成一个集群。 第二种:将Zookeeper服务器独立的配置一个集群,然后将solr交给Zookeeper进行管理
谈谈第一种:每启动一个solr服务器就内嵌的启动一个Zoo
- Java synchronized关键字详解
gqdy365
synchronized
转载自:http://www.cnblogs.com/mengdd/archive/2013/02/16/2913806.html
多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同步用以解决多个线程同时访问时可能出现的问题。
同步机制可以使用synchronized关键字实现。
当synchronized关键字修饰一个方法的时候,该方法叫做同步方法。
当s
- js实现登录时记住用户名
hw1287789687
记住我记住密码cookie记住用户名记住账号
在页面中如何获取cookie值呢?
如果是JSP的话,可以通过servlet的对象request 获取cookie,可以
参考:http://hw1287789687.iteye.com/blog/2050040
如果要求登录页面是html呢?html页面中如何获取cookie呢?
直接上代码了
页面:loginInput.html
代码:
<!DOCTYPE html PUB
- 开发者必备的 Chrome 扩展
justjavac
chrome
Firebug:不用多介绍了吧https://chrome.google.com/webstore/detail/bmagokdooijbeehmkpknfglimnifench
ChromeSnifferPlus:Chrome 探测器,可以探测正在使用的开源软件或者 js 类库https://chrome.google.com/webstore/detail/chrome-sniffer-pl
- 算法机试题
李亚飞
java算法机试题
在面试机试时,遇到一个算法题,当时没能写出来,最后是同学帮忙解决的。
这道题大致意思是:输入一个数,比如4,。这时会输出:
&n
- 正确配置Linux系统ulimit值
字符串
ulimit
在Linux下面部 署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用 其实很容易就达到这个数量。下面说的是,如何通过正解配置来改正这个系统默认值。因为这个问题是我配置Nginx+php5时遇到了,所以我将这篇归纳进
- hibernate调用返回游标的存储过程
Supanccy2013
javaDAOoracleHibernatejdbc
注:原创作品,转载请注明出处。
上篇博文介绍的是hibernate调用返回单值的存储过程,本片博文说的是hibernate调用返回游标的存储过程。
此此扁博文的存储过程的功能相当于是jdbc调用select 的作用。
1,创建oracle中的包,并在该包中创建的游标类型。
---创建oracle的程
- Spring 4.2新特性-更简单的Application Event
wiselyman
application
1.1 Application Event
Spring 4.1的写法请参考10点睛Spring4.1-Application Event
请对比10点睛Spring4.1-Application Event
使用一个@EventListener取代了实现ApplicationListener接口,使耦合度降低;
1.2 示例
包依赖
<p