- Python学习日记:列表的一些功能实现
Kaye921
python学习开发语言
myList=["Kaye","Pii","Pk","Pk","Pk"]#查找某元素在列表内的下标索引利用列表.index()#找到会返回索引值,找不到会返回ValueErrorindex=myList.index("Pk")print(index)#修改特定位置下标索引值myList[0]="kk"print(myList)#插入元素#列表.insert(索引,插入元素)myList.inser
- HTML中 video标签样式铺满全屏
小华0000
css前端
video标签默认不是铺满的,即使手动设置宽高100%也不会生效,所以当需要video铺满div时,需要加上一个css样式关键是这个“object-fit:fill”,这样就可以解决了!object-fit属性指定元素的内容应该如何去适应指定容器的高度与宽度。object-fit一般用于img和video标签,一般可以对这些元素进行保留原始比例的剪切、缩放或者直接进行拉伸等。fill:默认,不保证
- 深入Android HandlerThread 使用及其源码完全解析
ThreadLocalForrest
androidjavaui
本篇我们将来给大家介绍HandlerThread这个类,以前我们在使用线程执行一个耗时任务时总会new一个Thread的线程去跑,当任务执行完后,线程就会自动被销毁掉,如果又由新的任务,我们又得新建线程.....我们假设这样的一个情景,我们通过listview去加载图文列表,当我们往下滑动时,这时需要不断去请求网络资源,也就是需要不断开线程去加载网络资源,如果每次都new一个Thread,这显然是
- 对象存储
Mini' miss
pythonjavac#phpc++
对象存储(CloudObjectStorage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。通过控制台、API、SDK和工具等多样化方式,用户可简单、快速地接入COS,进行多格式文件的上传、下载和管理,实现海量数据存储和管理。产品概述本页目录:对象存储(CloudObjectStorage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用
- LinkedList双向链表的详细介绍
迟早是我的829
链表数据结构
一、LinkedList链表的存储图解1.LinkedList底层存储数据由三部分组成,分别为:上一个节点的地址值(prev),下一个节点的地址值(next),存储的数据(data)。如下图所示:二、LinkedList在Java中的底层实现(一)LinkedList的常用的父接口及其祖宗接口在Java源代码中,可以看出其常用的父接口有List接口,而List接口又继承于Collection接口,
- Objective-C实现NLP中文分词(附完整源码)
源代码大师
Objective-C实战教程自然语言处理objective-c中文分词
Objective-C实现NLP中文分词实现中文分词(NLP中的重要任务之一)在Objective-C中需要处理文本的切分和识别词语边界。尽管Objective-C在自然语言处理(NLP)领域并不常见,但通过合理的算法设计和数据结构,可以实现基本的中文分词功能。本文将介绍如何使用基于字典的最大匹配算法(MaximumMatchingAlgorithm),例如正向最大匹配(ForwardMaximu
- 细说 单链表、双向链表 、LinkedList类(附 add 源码解读)和 ArrayList 和 LinkedList 的区别 —— 数据结构
honglan297
数据结构Java链表数据结构算法
前言:上一篇文章我们初步介绍了List以及ArrayList,我们不难发现使用ArrayList过程中,对元素进行操作可能会涉及到大量数据的改变,所以LinkedList“临危受命”,本篇文章将从链表的相关概念入手,对单向、双线链表进行模拟实现,再回到LinkedList集合内当中进行简单分析,最后结合上一篇文章,阐述四点LinkedList和ArrayLIst区别。如果有需要快速了解两者区别的朋
- VQ-Diffusion 深度解析与实战指南
晏灵昀Odette
VQ-Diffusion深度解析与实战指南VQ-Diffusion项目地址:https://gitcode.com/gh_mirrors/vqd/VQ-Diffusion1.项目介绍VQ-Diffusion是一个用于文本到图像合成的深度学习模型,基于矢量量化变分自编码器(VQ-VAE)和去噪扩散概率模型(DenoisingDiffusionProbabilisticModel)。该模型通过将DDP
- Unity3D C#中的GetComponent详解
Thomas_YXQ
c#java前端Unity游戏开发开发语言Unity3D
前言在Unity3D开发中,GetComponent是一个非常基础且强大的方法,它允许你访问并操作附加到GameObject上的组件(Component)。无论是获取脚本组件、渲染组件、物理组件还是其他任何类型的组件,GetComponent都是实现这一目的的关键工具。本文将详细解析GetComponent的用法,包括其技术细节、注意事项以及代码实现。对惹,这里有一个游戏开发交流小组,希望大家可以
- Scala的Array
心仪悦悦
scala开发语言后端
类型:①可修改的:ArrayBufferpackagetest_29importscala.collection.mutable.ArrayBufferobjectTest{defmain(args:Array[String]):Unit={//1.新建valarr1=ArrayBuffer(1,2,3)//2.添加arr1+=4arr1.insert(0,100)//3.删除arr1-=3//删
- 用Scala通过身份证号获得其他信息的方法
心仪悦悦
scala
知识点1.toInt。把字符串转成整型2.toUpperCase。变大写3.toLowerCase变小写4.substring(起点,终点-不包括)字符串截取5.charAt(下标)得到对应位置的字符(不是字符串)6.asDigit.把字符转成数字8.contains是否包含子串9.length属性,用来获取有几个字符串。packagetest31objecttest{defmain(args:A
- Scala模式匹配(二)
心仪悦悦
scala开发语言后端
一、matchcase能根据类名和属性的信息,匹配带对应的类。注意: 1.匹配的时候,caseclass的属性个数要对上 2.属性名不需要一一对应。packagetest34objecttest6{caseclassPerson(name:String)caseclassStudent(name:String,className:String)defmain(args:
- 什么是项目库管理
项目管理
项目库管理是指对所有项目进行集中管理、监控和优化的一种方法。项目库管理的核心目的是通过建立一个统一的管理平台,将所有项目进行合理的分类、排序和资源调配,以确保项目组合的最大化价值和效益。项目库管理不仅帮助组织实现项目的标准化和规范化管理,还能够优化资源分配,提高决策效率,并减少项目风险。其中,项目优先级排序、资源配置优化和风险评估是项目库管理的关键组成部分。本文将详细介绍项目库管理的概念、意义及实
- 数据结构-单链表模板实现-C语言版
小刘不想改BUG
数据结构基础数据结构c语言网络
《单链表实现模板-C语言版》——从零构建你的“数据火车”引言链表是数据结构中的“火车”,每节车厢(节点)通过“连接器”(指针)串联。本文将用C语言手把手教你搭建一列单链表火车,实现增删改查等核心操作,并附完整可运行代码!一、链表结构设计1.节点结构体typedefstructListNode{eleTypedata;//车厢装载的货物(数据)structListNode*next;//连接下一节车
- 自用python基础2
ffuanc
python基础python
二、数组的存储和处理——NumPy模块2.1创建数组多维数组array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)importnumpyasnpa=np.array([1,2,3,4])b=np.array([[1,2,3],[4,5,6],[7,8,9]])print(a)print(b)运行结果:[1234][[123
- [k8s源码]9.workqueue
weixin_45396500
k8s源码java开发语言
client-go是一个库,提供了与KubernetesAPI服务器交互的基础设施。它提供了诸如Informer、Lister、ClientSet等工具,用于监听、缓存和操作Kubernetes资源。而自定义控制器则利用这些工具来实现特定的业务逻辑和自动化任务。业务逻辑实现:client-go不包含特定的业务逻辑。自定义控制器允许实现特定于您的应用程序或需求的逻辑。扩展Kubernetes:通过自
- Qt 中,**信号与槽(Signals & Slots)机制
enyp80
qt数据库开发语言
在Qt中,信号与槽(Signals&Slots)机制是实现对象间通信的核心模式,通常也被视为一种高效的“通知者模式”。它允许对象在特定事件发生时通知其他对象,且完全解耦。核心概念信号(Signal)由signals关键字声明,表示事件发生(如用户点击、数据更新)。无需实现代码,由Qt的元对象系统(Meta-ObjectSystem)自动生成。示例:voidvalueChanged(intnewVa
- 微信小程序实现分类功能
weeere914
微信小程序
想法是在page页面里data:{}数据里,创建一个数据,data:{list:{0:[],1:[],2:[],},currentIndex:0}然后把从数据库得到的数据存储在以上的数据中,this.setdata({list.0:res.data,list.1:res.data})然后在xlml页面中渲染,用数组的下标,如:{{list[currentIndex]}},分类一般是两侧,左侧和右侧
- RN React Native 使用Flatlist出现的问题
好好学习99
经验分享reactnativereact.jsjavascript
因为我们项目需要兼容app端,pcweb端以及移动web端,有些代码在移动端的时候没有问题,但是一旦在pc端,就会发现有bug,于是记录一下,pc端的bug原因1.出现闪屏,一直调用加载更多函数的原因其实闪屏与频繁调用加载函数是一起的,解决了调用加载函数的问题就能解决闪屏问题。flatlist组件有两个参数onEndReachedThreshold和onEndReached,前者用来判断何时调用e
- C#识别图片数字
CallZhang210
c#
///选取图片按钮的代码/////////privatevoid选择图片_Click(objectsender,EventArgse){OpenFileDialogopenFileDialog=newOpenFileDialog();openFileDialog.Filter="JPGFiles(*.jpg)|*.jpg|PNGFiles(*.png)|*.png";openFileDialog.
- 在DataGridView创建按钮列,点击按钮显示下拉框并对样片名称进行排序,点击下拉框内容定位到对应位置
CallZhang210
c#
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Text.RegularExpressions;usingSystem.Threading.
- python指针
viva_la_vida__
水题python
21.MergeTwoSortedListsEasy142591276AddtoListShareYouaregiventheheadsoftwosortedlinkedlistslist1andlist2.Mergethetwolistsinaonesortedlist.Thelistshouldbemadebysplicingtogetherthenodesofthefirsttwolists
- Java杂谈:解锁面向对象编程(OOP)魔法
还是十三
java
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、对象(object)与类(class):一切的基础二、封装(Encapsulation):将秘密装进盒子三、继承(Inheritance):继承父母的基因四、多态(polymorphism):同一接口,不同实现五、抽象(abstraction):隐藏复杂,暴露细节总结前言Java的核心理念是面向对象编程。实际上,所有J
- Python可迭代对象&迭代器对象
小杨今日不偷懒
python
1.可迭代对象Iterable1.1遍历(迭代):依次从对象中把一个个元素取出来的过程数据类型:str、list、tuple、dict、set等kediedict_keysdict_values1.2可迭代对象的条件1.对象实现了__iter__()方法2.__iter__()方法返回了迭代器对象1.3for循环工作原理1.先通过__iter__()获取可迭代对象的迭代器2.对获取到的迭代器不断调
- 【Pandas】pandas Series add_prefix
liuweidong0802
PandasSeriespandaspython机器学习
Pandas2.2SeriesComputationsdescriptivestats方法描述Series.align(other[,join,axis,level,…])用于将两个Series对齐,使其具有相同的索引Series.case_when(caselist)用于根据条件列表对Series中的元素进行条件判断并返回相应的值Series.drop([labels,axis,index,co
- 【Pandas】pandas Series reindex
liuweidong0802
PandasSeriespandas数据库大数据
Pandas2.2SeriesComputationsdescriptivestats方法描述Series.align(other[,join,axis,level,…])用于将两个Series对齐,使其具有相同的索引Series.case_when(caselist)用于根据条件列表对Series中的元素进行条件判断并返回相应的值Series.drop([labels,axis,index,co
- pandas使用Timeseries初步记录
qq_22254539
Pandas使用pandastimeseries
1、获取到的数据转为pd.timestamp2、转换数据日期时遇到时区问题3、数据转换清理start_time=1541347200end_time=start_time+86400*7filters={'occur_time__gte':start_time,'occur_time__lt':end_time,}objs=AcLogin.objects.filter(**filters).exc
- java练习(40)
IIIIIIlllii
java开发语言
ps:题目来自力扣二叉树的后序遍历给你一棵二叉树的根节点root,返回其节点值的后序遍历importjava.util.ArrayList;importjava.util.List;//定义二叉树节点类classTreeNode{intval;TreeNodeleft;TreeNoderight;TreeNode(){}TreeNode(intval){this.val=val;}TreeNode
- 仿12306项目(1)
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO
java
雪花算法为了高效的生成有序且唯一的ID,可以采用雪花算法来进行实现,为什么不去采用UUID呢?首先,UUID是一个128位的值,相较于雪花算法生成的64位的值,长了很多,在数据库中存储时耗费的时间更长,UUID生成后没有顺序关系,导致它不适合做主键,雪花算法排序具有可读性,在一些状况下更容易地追踪。雪花算法的原理IdUtil.getSnowflake有两个参数,第一个时数据中心的编号,第二个时机器
- 【Pandas】pandas Series filter
liuweidong0802
PandasSeriespandaspython机器学习
Pandas2.2SeriesComputationsdescriptivestats方法描述Series.align(other[,join,axis,level,…])用于将两个Series对齐,使其具有相同的索引Series.case_when(caselist)用于根据条件列表对Series中的元素进行条件判断并返回相应的值Series.drop([labels,axis,index,co
- 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