- qt串口readall判断是否读完
找个栗子
开发语言java
在Qt中,可以使用QIODevice的bytesAvailable函数来判断串口是否读取完毕。bytesAvailable函数返回当前可读取的字节数。当bytesAvailable返回0时,表示串口读取完毕。因此,可以在读取串口数据时使用一个循环来判断读取是否结束,示例如下:QSerialPortserialPort;serialPort.setPortName("COM1");serialPor
- React循环
DaftJayee
reactreact
importReact,{Component}from'react';classAppextendsComponent{constructor(props){super(props);this.state={str:'这是react数据',num:1,inputValue:"这是val",arr:['a','b','c'],cityName:['北京','上海','四川']}}render(){r
- 扫雷-完整源码(C语言实现)
云边有个稻草人
C语言项目c语言算法开发语言笔记扫雷游戏
云边有个稻草人-CSDN博客在学完C语言函数之后,我们就有能力去实现简易版扫雷游戏了(成就感满满),下面是扫雷游戏的源码,快试一试效果如何吧!在test.c里面进行扫雷游戏的测试,game.h和game.c里实现扫雷游戏的实现,后续我会出扫雷游戏代码的详细思路和解析。目录效果图game.hgame.ctest.c效果图(哇趣,一下子就踩到雷了,幸运到爆!)game.h#pragmaonce#inc
- 机器学习—大语言模型:推动AI新时代的引擎
云边有个稻草人
人工智能机器学习语言模型
云边有个稻草人-CSDN博客目录引言一、大语言模型的基本原理1.什么是大语言模型?2.Transformer架构3.模型训练二、大语言模型的应用场景1.文本生成2.问答系统3.编码助手4.多语言翻译三、大语言模型的最新进展1.GPT-42.开源模型四、构建和部署一个简单的大语言模型1.数据准备2.模型训练3.部署模型五、大语言模型的未来发展结语引言大语言模型(LargeLanguageModels
- 若依RuoYi框架浅析 基础篇③——Swagger接口文档 | SwaggerConfig、启用和禁用Swagger
小康师兄
若依RuoYi框架浅析Swagger接口文档808080若依
文章目录一、访问网址二、纠错排查三、SwaggerConfig一、访问网址http://localhost:8080/swagger-ui.html切记要加上端口号8080二、纠错排查我一开始没有加8080,是访问http://localhost/swagger-ui.html然后被重定向都登录界面,我就很纳闷,是因为没有token被拦截了吗。但是代码com.ruoyi.framework.con
- 推荐开源项目:media-codec - 视频与音频编解码库
强妲佳Darlene
推荐开源项目:media-codec-视频与音频编解码库media-codecVideoandaudiodeconde/encodelibraries.项目地址:https://gitcode.com/gh_mirrors/me/media-codec1、项目介绍media-codec是一个强大的开源项目,专注于视频和音频的编解码库。它为开发者提供了一套完善的工具,帮助他们在各种平台上处理多媒体数
- docker 中安装 zerotier
AlenTech
docker容器运维
目录Ubuntu中群晖中创建持久性TUN在NAS上安装docker设置容器用法升级ZeroTierUbuntu中创建Zerotier应用容器:dockerrun-d\--namezt\--restart=always\--device=/dev/net/tun\--net=host\--cap-add=NET_ADMIN\--cap-add=SYS_ADMIN\-v/var/lib/zerotie
- PHP DateTime基础用法
CodingBrother
PHPphp
PHPDateTime的用法详解一、引言在开发PHP应用程序时,处理日期和时间是一个至关重要的任务。PHP提供了强大的日期和时间处理功能,其中DateTime类是最常用的工具之一。DateTime类提供了丰富的方法来创建、格式化、计算和比较日期时间,使得处理时间变得简单而高效。本文将深入探讨PHP的DateTime类,包括其基本用法、常见方法、格式化、时区处理以及实际应用示例。二、DateTime
- python第六次课----异常处理
心之所向,随风依旧
python
1.异常简介异常即非正常状态,在Python中使用异常对象来表示异常。若程序在编译或运行过程中发生错误,程序的执行过程就会发生改变,抛出异常对象,程序流进入异常处理。如果异常对象没有被处理或捕捉,程序就会执行回溯(Traceback)来终止程序。异常信息:异常类型:异常类型异常消息NameError: name'num'isnotdefined.Didyoumean:'sum'?FileN
- ssGSEA中GSVA调用报错的解决方法
影林握雪
生信R语言r语言大数据r语言-4.2.1chatgpt笔记经验分享AI编程
ssGSEA中GSVA调用报错问题expr是表达谱,表达数据矩阵,行是基因,列是样本。cellMarker是一个包含基因集的列表。在R中使用GSVA的2.0.2版本gsva_data<-gsva(expr,cellMarker,method="ssgsea")会报错:Callinggsva(expr=.,gset.idx.list=.,method=.,…)isdefunct;useamethod
- AI智慧社区--百度地图
Y在努力学编程
项目vuespringbootjava百度地图
数据库:前端实现页面代码import{getCommunityMap}from'@/api/sys/community'exportdefault{name:'Map',data(){return{listQuery:{gradeId:''},center:{lng:116.3755,lat:39.80896},zoom:12,mapData:[]}},mounted(){},methods:{i
- 33.Context
我也念过晚霞
Android学习java开发语言
什么是ContextContext是一个抽象类,它提供了访问应用环境的接口。它常用于以下几种操作:访问资源:如字符串、图片、布局文件等。启动活动:如启动新的Activity、Service等。获取系统服务:如LayoutInflater、AlarmManager、NotificationManager等。访问数据库:如访问SharedPreferences和SQLite数据库。Context的类型
- 求一个数的数根(高精度)
甜甜的2013
算法c++
上一期我们讲的是求一个数的数根,和本期唯一不同的是,数据范围不同了,上一期这个数是小于等于10的18次方的,这一期是小于等于10的1000次方的,开一个变量?肯定不行,我们需要再开一个数组,而且是char数组,在代码中我们需要在后面把char转化成int,这就要涉及ASCII的知识了!如何把存在char的数字变成能计算的数字呢?只需要-48!好了,放代码!#includeusingnamespac
- python 抽象类
学python的土豆
python开发语言
1.基本概念抽象类,顾名思义,是包含抽象方法(即没有具体实现的方法)的类。这些抽象方法必须在子类中得以具体实现。Python通过abc(AbstractBaseClasses)模块提供了对抽象类的支持。在Python3中,我们通常会从abc.ABC类继承来创建一个抽象类,并使用@abc.abstractmethod装饰器来标记抽象方法。2.定义抽象类fromabcimportABC,abstrac
- python中的时间模块--datetime模块、time模块
学python的土豆
python开发语言
python中的时间模块一.datetime模块二.time模块一.datetime模块引入时间模块fromdatetimeimportdatetime获取当前时间print(datetime.today())#前的日期和时间print(datetime.now())#当前的日期和时间print(datetime.now().year)#当前的年份print(datetime.now().mont
- DeepSeek-R1 论文. Reinforcement Learning 通过强化学习激励大型语言模型的推理能力
davenian
评论语言模型人工智能深度学习DeepSeek
论文链接:[2501.12948]DeepSeek-R1:IncentivizingReasoningCapabilityinLLMsviaReinforcementLearning实在太长,自行扔到Model里,去翻译去提问吧。工作原理:主要技术,就是训练出一些专有用途小模型,来帮助大模型训练。主要技术:1.强化学习(RL)核心是强化学习技术,像训练小狗一样,当模型做出正确的推理步骤或得到正确的
- nginx源码解析-ngx_strerror()/ngx_strerror_init()
wenpeng_lu
nginxnginx
nginx源码解析-ngx_strerror()/ngx_strerror_init()将所有的错误码errno以及错误描述strerror(errno)提前存储到ngx_sys_errlist中,用于解决异步信号安全的问题。/**Copyright(C)IgorSysoev*Copyright(C)Nginx,Inc.*/#include#include/**Thestrerror()messa
- Python+Selenium环境搭建
程序媛_
SeleniumPythonpythonseleniumpycharm
文章目录1安装Python1.1下载1.2安装注意事项1.3验证环境2安装PyCharm2.1下载PyCharm社区版2.2安装注意事项3安装浏览器及驱动3.1下载Chrome浏览器3.2下载Chromedriver3.3关闭浏览器自动更新关闭3.4配置Chromdriver4安装Selenium5调试6异常解决7自动化Edge浏览器1安装Python1.1下载下载网址:https://www.p
- Tiff文件解析和PackBits解压缩
vcshcn
uiTiffPackBits
实现了Tiff图片文件格式的解析,对Tiff文件中的PackBits压缩格式进行解压缩,对Tiff文件中每一个Frame转换成BufferedImage显示。Java语言实现,Eclipse下开发,AWT显示图片。publicstaticTIFFParse(finalbyte[]bytes)throwsIllegalAccessException{BinaryBufferis=newBinaryB
- nginx-1.24.0 安装教程
青春1314
服务器运维
1.下载nginx安装包mkdir-p/home/appcd/home/appwgethttp://nginx.org/download/nginx-1.24.0.tar.gz2.解压缩tar-zxfnginx-1.24.0.tar.gz3.下载nginx二进制包编译所需的工具和依赖yuminstallgcc-c++pcrepcre-develzlibzlib-developensslopenss
- 【unstructured】针对unstructured的pdf提取的hi_res策略不能够连接huggingface.co下载模型的问题而选择本地化模型推理部署的方法
phillihp
llmpython深度学习pdfllamalangchain
目录unstructuredpdfhi_res策略本地推理部署说明python3.9虚拟环境准备安装miniconda创建一个conda-env环境安装unstructured背景知识安装步骤安装detectron2背景知识安装detectron2及其依赖torch,torchvision和torchaudio部署模型背景知识hi_res策略三种模型本地推理部署layoutmodel(detect
- ubuntu22.04安装k3s, kuboard
LogicLancer
docker持续集成
直接安装方式更新系统包列表sudoaptupdate安装所需的依赖sudoaptinstall-ycurl下载k3s安装脚本curl-sfLhttps://get.k3s.io|sh-验证k3s安装sudosystemctlstatusk3s获取k3s的tokensudocat/var/lib/rancher/k3s/server/node-token设置kubectl配置mkdir-p$HOME
- 大数据相关职位介绍之二(数据治理,数据库管理员, 数据资产管理师,数据质量专员)
小Tomkk
大数据大数据数据治理数据库管理员数据资产管理师数据质量专员
大数据相关职位介绍之二(数据治理,数据库管理员,数据资产管理师,数据质量专员)文章目录大数据相关职位介绍之二(数据治理,数据库管理员,数据资产管理师,数据质量专员)数据治理工程师/专家(DataGovernanceEngineer/Expert)1.元数据管理师(MetadataManager)2.主数据管理师(MasterDataManager)数据库管理员(DBA-DatabaseAdmini
- ExternalName Service 针对的是k8s集群外部有api服务的场景?
A ?Charis
kubernetes
是的,**ExternalNameService正是专门用于将Kubernetes集群内部的应用请求代理到外部服务(如API、数据库等)的场景**。以下是详细说明:---###**ExternalNameService的核心作用**ExternalNameService通过**DNSCNAME机制**,将Kubernetes集群内的Service名称映射到外部的域名(如`api.external.
- k8s集群部署:环境准备
亦诗亦诗
k8skubernetes容器云原生
本教程基于centos9arm架构展开。1.设置主机名为每个节点设置主机别名,以便于集群中的角色识别:#设置主节点的主机名为kmastersudohostnamectlset-hostnamekmaster--static#设置工作节点1的主机名为kworker1sudohostnamectlset-hostnamekworker1--static#设置工作节点2的主机名为kworker2sudo
- Spring事件机制详解
冰糖心158
SpringFrameworkjavaspring
Spring事件机制是基于观察者模式(ObserverPattern)实现的,用于在应用程序内部实现松耦合的组件间通信。以下是Spring事件机制的详细解析:1.核心组件ApplicationEvent所有事件的基类,自定义事件需继承此类。publicclassCustomEventextendsApplicationEvent{publicCustomEvent(Objectsource){su
- flutter开发环境配置
artemisecho
flutter
配置androidsdk使用AndroidStudio;使用android-sdk_r24.4.1-windows.zip配置环境变量ANDROID_HOME指向解压文件;配置环境变量ANDROID_USER_HOME【\.android\avd】用来存放模拟器使用commandlinetools工具·Windows选择commandlinetools-win-9477386_latest.zip
- 获取snmp oid的小方法1(随手记)
Tassel_YUE
网络随笔记ZabbixSNMP
snmpwalk遍历设备的mib#snmpwalk-v-c.snmpwalk-v2c-ctest192.168.100.201.根据获取的值,找到某一个想要的值的oid#SNMPv2-MIB::sysName.0=STRING:test1[root@zabbix01fonts]#snmpwalk-v2c-ctest192.168.100.201sysName.0SNMPv2-MIB::sysNam
- 使用 EXISTS 解决 SQL 中 IN 查询数量过多的问题
My LQS
历史经验篇sql数据库
在SQL查询中,当我们面对需要在IN子句中列举大量数据的场景时,查询的性能往往会受到显著影响。这时候,使用EXISTS可以成为一种优化的良方。问题的来源假设我们有两个表,orders和customers,我们需要查询所有属于“活跃”客户的订单信息。传统的做法可能是使用IN来实现:SELECT*FROMordersWHEREcustomer_idIN(SELECTcustomer_idFROMcus
- 【WiFi】QCA6174A根据GPIO加载不同bdwlan文件修改实现
wellnw
WiFiDriver功能实现WiFi
QCA6174ADesignedtodeliveracost-effectiveWi-Fi/Bluetoothcombosolution,theQualcomm®QCA6174ASoC(System-on-Chip)isanintegrated,single-chipsolutioninasmallformfactorformobileandconsumerelectronicsapplicati
- 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