Spring 中的事件机制
说到事件机制,可能脑海中最先浮现的就是日常使用的各种 listener,listener去监听事件源,如果被监听的事件有变化就会通知listener,从而针对变化做相应的动作。这些listener是怎么实现的呢?说listener之前,我们先从设计模式开始讲起。 观察者模式 观察者模式一般包含以下几个对象: Subject:被观察的对象。它提供一系列方法来增加和删除观察者对象,同时它定义了通知方法…
说到事件机制,可能脑海中最先浮现的就是日常使用的各种 listener,listener去监听事件源,如果被监听的事件有变化就会通知listener,从而针对变化做相应的动作。这些listener是怎么实现的呢?说listener之前,我们先从设计模式开始讲起。 观察者模式 观察者模式一般包含以下几个对象: Subject:被观察的对象。它提供一系列方法来增加和删除观察者对象,同时它定义了通知方法…
当VMware中的CentOS磁盘空间不足时就需要进行磁盘扩容,具体步骤如下: 步骤一:虚拟机扩展磁盘容量 1、首先,打开已经安装好的虚拟机,选择需要扩展磁盘的虚拟机,点击设备中的“硬盘”。如图: 2、接着,进入虚拟机设置界面,在界面的右侧选择“扩展”。如图: 3、接着,在弹出的扩展磁盘容量中,输入需要扩展磁盘的大小,完成后点击“确定”。如图: 4、接着,等待系统自动扩展完成,在弹出的对话框…
有许多人使用 Python 来写图形化界面时选择了 PyQT,但是有许多人不知道如何将开发好的程序打包成为安装包,这篇文章我就来介绍一种非常简单的也是非常基础的在 MAC 下打包 PyQT 程序的方法。 安装 PyQT 安装 QT 我们首先要安装 QT,我这里安装的是, QT 5.5,对于 MAC 上 QT 的安装直接到官方网站上去找到对应的安装包下载安装即可。 http://www.qt.io/…
问题现象 接口响应时间超长,耗时几十秒才返回错误提示,后台日志中出现Lock wait timeout exceeded; try restarting transaction的错误 <-- java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction at com.mysql.jdbc.SQL…
MongoRepository接口解析 在Mongo数据库中,Repository类有点像mysql的mapper文件的意思,但是比mapper文件更加的简单。 /** * 继承的MongoRepository接口中, * 泛型1是对应的domain包中的实体类 * 泛型2是该类的对应的文档主键 * 记得贴上Repository注解,该类的对象交由spring容器管理 */ @Repository…
转载自:https://www.jianshu.com/p/f47621a224a6 叙述 MongoRepository有以下方法 介绍 count()统计总数 count(Example< S > example)条件统计总数 delete(T entities)通过对象信息删除某条数据 deleteById(ID id)通过id删除某条数据 deleteALL(Iterable&…
SpringBoot使用@scheduled定时执行任务的时候是在一个单线程中,如果有多个任务,其中一个任务执行时间过长,则有可能会导致其他后续任务被阻塞直到该任务执行完成。也就是会造成一些任务无法定时执行的错觉。 可以通过如下代码进行测试: @Scheduled(cron = "0/1 * * * * ? ") public void deleteFile() throws Interrupte…
简介我一般数据表结构是用PowerDesigner来建, 建完就需要建Model也即一堆javaBean, 如果没有辅助工具挨个建要累死, 于是用python写了这样一个辅助小工具, 仅需复制下PowerDesigner中Preview中的sql语句, 然后双击下工具就直接生成出所有数据表的javaBean了 源码: https://github.com/shuoGG1239/SqlToXXX 效…
如果有一个字符串$str = '99.9';,怎么样使这个字符串变成99.90呢? 我们需要用到PHP的格式化字符串函数sprintf() 函数说明:sprintf(格式, 要转化的字符串) 返回:格式化好的字符串 例子: $str = '99.9'; $result = sprintf('%01.2f', $str); echo $result;//结果显示99.90 解释下,上面例子中的格式 …