- python-多线程编程
Protein Designer
蛋白质结构python
文章目录1.多任务介绍2.进程介绍3.使用多进程来完成多任务3.1进程的创建步骤3.2进程执行带有参数的任务3.3获取进程编号3.4多进程编程的注意点主进程会等待所有的子进程执行结束在结束设置守护主进程:**主进程结束后不会再继续执行子进程中剩余的工作**3.5进程池与进程锁3.6进程的通信3.7线程3.8GIL全局锁3.9异步1.多任务介绍多任务是指在同一时间内执行多个任务。定义举例并发在一段时
- 设计模式-模板模式
GodKeyNet
设计模式模板模式
一、所用到的类一个抽象类:里面都是固定的方法,然后外加一个调用这些固定流程方法的方法N个实现类:这些实现类去实现固定的那些方法二、代码实现抽象类publicabstractclassOneDay{abstractvoidgetup();abstractvoideat();abstractvoidsleep();publicvoidstart(){getup();eat();sleep();}}实现
- RabbitMQ简单消息发送
RabbitMQ简单消息发送简单代码实现RabbitMQ消息发送需要的依赖org.springframework.bootspring-boot-starter-amqpx.x.x消息发送示例importcom.rabbitmq.client.Channel;importlombok.extern.slf4j.Slf4j;importorg.springframework.amqp.rabbit.
- Java中的I/O流
白仑色
javajavaI/O流字节流字符流
Java中的I/O流Java中的I/O流(Input/OutputStreams)是用于处理输入和输出操作的类。这些流可以用来读取或写入数据,无论是从文件、网络连接还是内存缓冲区。JavaI/OAPI位于java.io包中,并分为字节流和字符流两大类。字节流在Java中,字节流主要用于处理以字节为单位的数据输入和输出操作。它们非常适合处理二进制数据,如图像文件、音频文件等,也可以用于文本文件的读写
- wpf 学习笔记
1.同时加载两个窗体先添加一个子窗体,然后再app.xaml.cs里重写OnStartup方法//app.xaml.csusingSystem.Configuration;usingSystem.Data;usingSystem.Windows;namespaceWpfApp1{//////InteractionlogicforApp.xaml///publicpartialclassApp:Ap
- 江协科技 OLED库 OLED_Print( )函数自动换行
Crkylin
科技
voidOLED_Printf(int16_tX,int16_tY,uint8_tFontSize,char*format,...){charString[256];//定义字符数组va_listarg;//定义可变参数列表数据类型的变量argva_start(arg,format);//从format开始,接收参数列表到arg变量vsprintf(String,format,arg);//使用v
- OCCT 中 OCAF 事务开始结束的最佳时机
std::stringGeometrySamples::CreateRevol(constTopoDS_Shape&shape,constgp_Dir&axis,doublestartAngle,doubleendAngle,boolisSolid){if(m_doc.IsNull()){qWarning()NewCommand();//最终检查并转换为实体if(isSolid&&!revolSh
- pytorch底层原理学习--Libtorch
libtorchlibtorch是PyTorch的C++实现版本,可以认为所有的pytorch底层都是由c++实现,而pytorch的所有C++实现就叫libtorch,也就是我们在pytorch官网getstart页面下载的c++pytorch版本。我们用python写的pytorch神经网络代码都会通过pybind11将python转换为libtorch的C++代码。[官方文档](PyTorc
- 【蓝桥杯】第十五届省赛大学真题组真题解析
Jyywww121
蓝桥杯javascript职场和发展
【蓝桥杯】第十五届省赛大学真题组真题解析一、智能停车系统1、知识点(1)flex-wrap控制子元素的换行方式属性值有:no-wrap不换行wrap伸缩容器不够则自动往下换行wrap-reverse伸缩容器不够则自动往上换行(2)align-content调整多行侧轴对齐方式align-items调整单行侧轴对齐方式控制子元素在交叉轴上的对齐方式属性值有:flex-start侧轴的起始位置对齐fl
- Kafka日常运维命令总结
我科绝伦(Huanhuan Zhou)
kafka运维分布式
一、集群管理前台启动Brokerbin/kafka-server-start.sh/server.properties关闭方式:Ctrl+C后台启动Brokerbin/kafka-server-start.sh-daemon/server.properties关闭Brokerbin/kafka-server-stop.sh二、Topic管理操作命令创建Topicbin/kafka-topics.s
- MCP架构全解析:从核心原理到企业级实践
stormsha
人工智能架构c++服务器
欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:「stormsha的主页」,「stormsha的知识库」持续学习,不断总结,共同进步,为了踏实,做好当下事儿~非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。✨✨欢迎订阅本专栏✨✨TheStart点点关注,收藏不迷路文章目录1.M
- 【手写前端面试题01】防抖和节流
全栈前端老曹
javascript前端javascript学习防抖节流
《手写防抖和节流:从“打工人”到“时间管理大师”》一、本质理解(别被术语吓到)防抖(debounce)是什么?玩游戏看60秒广告只需要完整看一次就行了,退出去一次重新60秒,别一直退✅核心思想:在事件被触发后,等待一段时间,如果这段时间内没有再次触发,才执行。节流(throttle)又是什么?闪现CD:不管多急,都要等冷却好才能再次使用✅核心思想:多次触发→只按固定频率执行,在一定时间内只允许执行
- [面试] 手写题-eventBus
533_
#面试javascript
EventBus本质上是一个发布-订阅模式。它的作用是:订阅事件(on):存储回调函数,等待事件触发。触发事件(emit):当事件发生时,执行所有订阅的回调函数。取消订阅(off):移除指定的回调函数。只触发一次(once):回调函数执行一次后自动移除。//定义EventBus事件总线类classEventBus{constructor(){//设置类实例的初始状态//存储所有事件及其对应的回调函
- 字符串篇(python)—如何统计字符串中连续的重复字符个数_python随机给出字符串,统计连续且相同个数
2401_84141337
程序员python开发语言
"""递归实现一个求字符串中连续出现相同字符的最大值例如字符串"aaabbcc"最大值为a3解题思路遍历字符串的时候定义两个变量curMaxLen记录当前遍历字符重复的连续字符个数maxLen遍历到目前为止找到最长的连续重复字符的个数"""defgetMaxDupChar(s,startIndex,curMaxLen,maxLen):ifstartIndex==len(s)-1:returnmax
- 前端流式输出3种实现
呼叫6945
前端javascript
在前端开发中,流式输出(streamingoutput)通常是指逐步输出数据,而不是等待所有数据准备好后一次性显示。这种技术在处理大型数据集、实时数据或需要逐步加载内容的情况下非常有用。下面介绍几种实现流式输出的方法,包括使用FetchAPI和EventSource。1.使用FetchAPI实现流式输出通过FetchAPI和可读流(ReadableStreams),可以在响应到达时逐步读取和处理数
- Python包管理工具UV:告别龟速pip,体验秒级安装,你的生产力引擎即将升级
wylee
pythonuvpip
摘要:还在为Python包的龟速安装和复杂的依赖管理而抓狂吗?还在苦苦等待CI/CD流水线中漫长的pipinstall完成吗?今天,我要向你隆重介绍一个划时代的Python包管理工具——UV!它由Python生态巨头Astral团队倾力打造,采用Rust编写,旨在彻底颠覆你对Python包安装、虚拟环境管理和依赖解析的认知。UV不仅是pip和virtualenv的闪电替代品,更是pip-tools
- Ubuntu18.04/Mysql 5.7 建立主备模式Mysql集群
武昌库里写JAVA
面试题汇总与解析课程设计springbootvue.jslayui毕业设计
一、数据库的安装详见https://www.jianshu.com/p/5073177eedf2本文实验环境为阿里云的两台ubuntu18.04服务器:masterip:172.26.138.7slaveip:172.26.0.209二、修改Master的配置(#的行是我后增加的部分):编辑/etc/mysql/mysql.conf.d/mysqld.cnf[mysqld]user=mysqlpi
- webview加载url提示net::ERROR_UNKNOWN_URL_SCHEME
海阔天空6688
Androidwebviewandroidscheme
解决方法:重写WebViewClient类的shouldOverrideUrlLoading()方法,在方法中对scheme协议进行处理newWebViewClient(){@OverridepublicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){//对协议进行处理if(url.startsWith("http")||url.sta
- VUE开发环境下mock模拟数据与后端接口对接示例
guoyp2126
前端开发技术vue.jsnode.jsjavascript
在以往的前端开发中,前端严重依赖后端,必须等待后端接口开发出来才能继续开发。使用mock,可以使得前后端开发异步进行,互不影响。Mock.js是一个模拟数据生成器,使用它可以拦截ajax请求,直接模拟返回数据,这样前后端只要约定好数据格式即可。这样前端就不需要依赖后端的接口,使用模拟的数据独立的完成开发,以下使用vue+mock.js的一个例子。安装mock打开命令行窗口,进入工程目录,输入以下命
- 移动端 uniapp 写一个可自由拖拽的小键盘
赫卡夹
移动端uni-appjavascriptandroid
写之前要考虑:键盘展开后,不能超过手机边缘在底部展开键盘,键盘应出现在展开按钮上方;以此类推重复点击展开按钮,关闭键盘效果:代码如下,有些按键逻辑还需要优化键盘{{key.name}}exportdefault{data(){return{btnLeft:100,//按钮初始位置btnTop:100,startX:0,//触摸起始位置startY:0,isDragging:false,//是否正在
- C++信号量condition_variable
目录1、condition_variable2、函数3、测试1、condition_variable同步线程间的数据流依赖关系。2、函数Condition_variablecv;构造Cv.~Condition_variable();销毁Cv.notify_one();唤醒一个等待者Cv.notify_all();唤醒所有的等待者Cv.wait(ul);使用unique_lockul来等待通知Cv.
- C++ 11 中 condition_variable 的探索与实践
码事漫谈
c++11c++java数据库
文章目录一、条件变量的基本概念1.1条件变量的定义1.2条件变量与互斥锁的配合二、条件变量的基本用法2.1常见的操作2.2示例:生产者-消费者模型代码说明三、深入理解条件变量3.1条件变量的底层实现3.2条件变量与忙等待的对比3.3提升性能的注意事项避免虚假唤醒最小化锁的持有时间四、条件变量的应用场景4.1生产者-消费者模型4.2读者-写者模型4.3线程池五、条件变量的相关类和成员函数5.1相关类
- StreamSaver实现大文件下载解决方案
诸葛亮的芭蕉扇
前端vue.jsjavascriptnode.js
StreamSaver实现大文件下载解决方案web端安装StreamSaver.jsnpminstallstreamsaver#或yarnaddstreamsaver在Vue组件中导入importstreamSaverfrom"streamsaver";//确保导入名称正确完整代码修正下载大文件(带进度)0">下载进度:{{progress}}%importstreamSaverfrom"stre
- Win11将右键菜单改回Win10右键菜单样式(右键菜单默认展开)
前端页面仔
windows开发语言
1,首先用鼠标右键点击“开始”按钮(或者按Win+X键),点击Windows终端(管理员)2,在终端应用程序里粘贴下面的代码win10右键菜单(展开)regadd"HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32"/f/vetaskkill/f/imexplorer.exe&start
- VSCode用ssh连接ubuntu虚拟机实现远程访问文件夹
小熊@XiaoXiong
linux环境高级编程c语言嵌入式vscodesshubuntu
1.ubuntu安装ssh服务1.1安装sudoapt-getinstallsshsudoapt-getinstallopenssh-server1.2启动ssh服务sudoservicesshstartsudoservicesshstatus#查看状态##或者用下面方式重启ssh服务##/etc/init.d/sshrestart1.3ssh服务加入开机启动
- 使用nssm工具创建windows服务和删除服务
cdg==吃蛋糕
c语言开发语言windows
@echooffsetstroage_path=C:\shenyang\storagenssminstallkae_arangodb"%stroage_path%\graphdb/usr/bin/arangod.exe"nssmsetkae_arangodbAppDirectory"%stroage_path%\graphdb"nssmsetkae_arangodbStartSERVICE_AUT
- springboot整合rabbitmq集群配置详解
ThePual
javaspringbootrabbitmq队列
springboot整合rabbitmq集群创建方式这里省略整合开始1引入starterorg.springframework.bootspring-boot-starter-parent2.2.6.RELEASEorg.springframework.bootspring-boot-starter-amqp2配置文件rabbitmq:addresses:127.0.0.1:6605,127.0.
- Redis windows下一直保持启动状态
Jerry_carry
redisredis
进入DOS窗口在进入redis的安装目录输入:redis-server--service-installredis.windows.conf--loglevelverbose(安装redis服务)输入:redis-server--service-start(启动服务)输入:redis-server--service-stop(停止服务)
- Spring Boot 实现不同用户不同访问权限
周凡123
springbootjava
前提近期在使用SpringBoot,用户角色被分为管理者和普通用户;角色不同,权限也就存在不同。在SpringBoot里实现不同用户拥有不同访问权限,可借助SpringSecurity框架达成。实现1.添加必要依赖首先要在pom.xml里添加SpringSecurity和JPA的依赖。org.springframework.bootspring-boot-starter-securityorg.s
- Linux——Docker常用命令总结
小懿程序员
Linuxlinuxdocker运维
一、docker命令#-------------------------------------docker启动与关闭#启动dockersystemctlstartdocker#关闭dockersystemctlstopdocker#重启dockersystemctlrestartdocker#docker设置随服务启动而自启动systemctlenabledocker#-------------
- 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