Spring中实现自定义事件

原理:通过扩展ApplicationEvent,创建一个事件类CustomEvent。这个类必须定义一个默认的构造函数,它应该从ApplicationEvent类中继承的构造函数。一旦定义事件类,你可以从任何类中发布它,假定EventClassPublisher实现了ApplicationEventPublisherAware。你还需要在XML配置文件中声明这个类作为一个bean,之所以容器可以识别bean作为事件发布者,是因为它实现了ApplicationEventPublisherAware接口。发布的事件可以在一个类中被处理,假定EventClassHandler实现了ApplicationListener接口,而且实现了自定义事件的onApplicationEvent方法。例子:pom.xml:<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache...

gulp-rev-collector自定义修改rev-manifest.json后替换不成功的问题分析

由于项目需要,我要把common.js替换成build.min.js,接着后面才用到build.min.js=>build-te234ds.min.js这样的形式替换,但是我发现怎么替换都不能把common.js替换掉,经过分析发现:只有名字符合标准才能替换成功,不是手动修改这个文件到时修改不成功,比如common.js=>common-tes234.js这样的形式才能成功,而不能像common.js->build.min.js这样的形式。参考:https://segmentfault.com/q/1010000005044375后话:如果要替换文件名,直接用gulp-replace插件。...

jQuery 自定义网页滚动条样式插件 mCustomScrollbar 的介绍和使用方法

系统默认的滚动条样式,真的已经看的够恶心了。试想一下,如果在一个很有特色和创意的网页中,出现了一根系统中默认的滚动条样式,会有多么的别扭。为了自己定义网页中的滚动条的方法,我真的已经找了很久了,就目前寻找的成果来说,找到了两个比较不错的jQuery插件:jScrollPane 和 mCustomScrollbar 。关于前者,大家见过的可能比较多,但是这个插件太过于古老而且功能不强大。效果在几年前非常不错,但是放在现在就不好说了。所以我选择了后者: mCustomScrollbar。下图是两者官方示例的简单对比:本文就是介绍如何使用这个插件,大部分的内容,是根据mCustomScrollbar官方的介绍页面进行一个翻译,但将其部分内容修改,同时增加一些自己在使用中的一些技巧。mCustomScrollbar使用了jQueryUI,可以通过灵活的通过CSS定义你的滚动条。同时可以定义垂直的和水平的滚动条,并且通过BrandonAaronjquerymouse-wheelplugin 提供了鼠标滚动的支持,滚动的过程中,还可以缓冲滚动使得滚...

自定义Xcode文件模板

随着项目的增大,以及开发人员的增多,不同开发不同的编码习惯会导致代码阅读产生困难,因而使用统一的编码规范就很重要的.一个文件中的结构统一,可以增加代码的可读性,因而使用同一的文件模板就变得必要./Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/FileTemplates/Source/CocoaTouchClass.xctemplate  该路径下包含了一些基础类的模板文件,因为权限问题不可以直接编辑,但是可以复制出来,然后再替换.除了更改系统文件,我们还可以在不修改系统模板的条件下增加自定义模板1.在FileTemplates目录下新建CustomTemplates目录2.拷贝CocoaTouchClass.xctemplate目录并修改对应的模板文件,并移动至CustomTemplates路径下以UIViewController为例://___FILEHEADER___#import"___FILEBASENAME___.h...

记录一次eclipse的错误:“server tomcat v7.0 server at localhost was unable to start within 45 seconds”的问题解决思路

如果配到上述问题,可以参考网上查找的方法,如下:http://stackoverflow.com/questions/6468520/server-tomcat-v6-0-server-at-localhost-was-unable-to-start-within-45-secondshttp://fanshuyao.iteye.com/blog/1695482http://www.cnblogs.com/qupengkun/p/4897100.htmlhttp://blog.csdn.net/qq_20545159/article/details/47168629http://blog.csdn.net/cnham/article/details/6317396http://stackoverflow.com/questions/15498724/tomcat-server-not-starting-with-in-45-seconds 解决思路如下:1、多试几次,比如退出eclipse,clean一下project,重启一下系统。2、把tomcat启动时间延长:最后要cl...

屏蔽国内广告的hosts

源码:https://github.com/easonjim/blackhostsbug提交:https://github.com/easonjim/blackhosts/issues...
代码星球 代码星球·2020-04-04

Mac 10.12通过Launchd创建自定义服务(基于MySQL 5.7.15的开机自启动)

在上一篇文章http://www.cnblogs.com/EasonJim/p/6275863.html中安装MySQL时采用的时DMG包的安装步骤页面进行安装的,如果这样安装的MySQL是会开机自启动,并且在系统设置中有MySQL关于服务方面的快速操作界面。那么如果是基于二进制包安装的,如果要实现开机自启动,那么需要使用到Launchd进行服务的管理。实现步骤:1、在/Library/LaunchDaemons下新建com.oracle.oss.mysql.mysqld.plist的文件,内容如下:<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEplistPUBLIC"-//Apple//DTDPLIST1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plistversion="1.0"><dict><key>Disabled</key><false/><key>ExitTimeO...

Ubuntu下使用Sysvinit实现自定义服务(简单研究)

通过上一篇文章http://www.cnblogs.com/EasonJim/p/7168216.html可以大概了解到Sysvinit的历史。其实在自定义服务上,使用Sysvinit是最简单的,本身就是一个Shell脚本,只要按照基本的格式写,然后放在/etc/init.d文件夹下即可。然后通过update-rc.d配置开机启动。也可以直接使用sysv-rc-conf工具进行操作。操作完之后会在ect/rc*.d文件夹体现,S为开始,K为结束。系统提供的说明文档,在/etc/init.d/README这个是GitHub上已经提供的模板,直接套上去就可以使用:https://gist.github.com/naholyr/4275302其它参考:http://czmmiao.iteye.com/blog/1786606http://blog.chinaunix.net/uid-27875-id-5749890.htmlhttp://blog.csdn.net/fenglailea/article/details/45535833http://blog.csdn.net/tmt12342...

Ubuntu 16.04安装SwitchHosts

下载:https://github.com/oldj/SwitchHosts/releases解压:unzipSwitchHosts-linux-x64_v3.3.6.5287.zip移动:sudomvSwitchHosts!-linux-x64//opt/SwitchHosts!-linux-x64/创建链接:sudoln-s/opt/SwitchHosts!-linux-x64//opt/SwitchHosts启动:/opt/SwitchHosts/SwitchHosts!&添加条目:https://raw.githubusercontent.com/googlehosts/hosts/master/hosts/hostshttps://raw.githubusercontent.com/racaljk/hosts/master/hosts...

iOS-AFNetworking封装Get(自定义HTTP Header)和Post请求及文件下载

前面提到AFNetworking是一个很强大的网络三方库,首先你需要引入AFNetworking三方库;如封装的有误还请指出,谢谢!1.Get请求/**Get请求url服务器请求地址success服务器响应返回的结果faile失败的信息*/+(void)getHttpRequestURL:(NSString*)urlRequestSuccess:(void(^)(idrepoes,NSURLSessionDataTask*task))successRequestFaile:(void(^)(NSError*error))faile{AFHTTPSessionManager*manager=[AFHTTPSessionManagermanager];manager.responseSerializer=[AFHTTPResponseSerializerserializer];//放弃解析///自定义httpheader此处可省略///[manager.requestSerializersetValue:@"application/json"forHTTPHeaderField:@"Acc...

史上自定义 JavaScript 函数Top 10

http://www.dustindiaz.com/top-ten-javascript/  发布:wpulog|发布时间:2010年4月9日10个被使用的最普遍的用户自定义函数,addEvent(),addLoadEvent(),getElementsByClass(),getCookie(),setCookie(),deleteCookie()等。10)addEvent() functionaddEvent(elm,evType,fn,useCapture){  if(elm.addEventListener){    elm.addEventListener(evType,fn,useCapture);    returntrue;  }  elseif(elm.attachEvent){    varr=elm.attachEvent('on'+evType,fn);&n...

Windows添加自定义服务、批处理文件开机自启动方法

【Windows添加自定义服务方法】:1、使用Windows服务工具instsrv.exe与srvany.exe:参考:https://wenku.baidu.com/view/44a6e6f8941ea76e58fa045a.html2、SC命令创建、开启、配置、关闭服务:参考:http://blog.csdn.net/moruna/article/details/9190733 【批处理文件开机自启动方法】:1、组策略中新建自启动批处理文件:首先,你可以在一个地方建立一个BAT文件,比如在D:est.bat,BAT内容为mkdirr:Safari。然后,打开gpedit.msc,选择左侧“本地计算机策略”——“用户配置”——“Windows设置”——“脚本(登录/注销)”,再双击右侧“登录”,在弹出来的窗口里找到“添加”按钮,选择脚本路径就为D:estat,...

设置hostname

由于 http://1.2.3.4 不是一个有效的apt源,安装肯定会失败,我们可以在/var/log/cloud-init.log看到失败的信息。  cloud-init默认会将instance的名字设置为hostname。但这样不太方便,有时希望能够将二者分开,可利用cloud-init的set_hostname 模块实现。set_hostname 它会查询metadata中hostname信息,默认值就是instance的名字。我们可以指定自己的hostname,方法是将下面的内容传给cloud-init:#cloud-confighostname: my1.cloudman.ccmanage_etc_hosts:true 说明如下:cloud-init只会读取以 #cloud-config 开头的数据,所以这一行一定要写对。hostname: my1.cloudman.cc 告诉cloud-init将hostname设置为 my1.cloudman....
代码星球 代码星球·2020-04-03

RabbitMQ入门教程(十三):虚拟主机vhost与权限管理

原文:RabbitMQ入门教程(十三):虚拟主机vhost与权限管理版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/vbirdbest/article/details/78702685分享一个朋友的人工智能教程。比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看。每一个RabbitMQ服务器都能创建虚拟消息服务器,我们称之为虚拟主机。每一个vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的交换机、队列、绑定等,拥有自己的权限机制。vhost之于Rabbit就像虚拟机之于物理机一样。他们通过在各个实例间提供逻辑上分离,允许为不同的应用程序安全保密的运行数据,这很有,它既能将同一个Rabbit的众多客户区分开来,又可以避免队列和交换器的命名冲突。RabbitMQ提供了开箱即用的默认的虚拟主机“/”,如果不需要多个vhost可以直接使用这个默认的vhost,通过使用缺省的guest用户名和guest密码来访问默认的vhost。vhost之间是相互独立的,这避免了各种命名的冲突,...

C# WPF 简单自定义菜单切换动画

原文:C#WPF简单自定义菜单切换动画微信公众号:Dotnet9,网站:Dotnet9,问题或建议,请网站留言;如果您觉得Dotnet9对您有帮助,欢迎赞赏内容目录实现效果业务场景编码实现本文参考源码下载自定义菜单切换动画菜单切换动画3.1添加Nuget库使用.NetCore3.1创建名为“CustomMenu”的WPF解决方案,添加两个Nuget库:MaterialDesignThemes和MaterialDesignColors。MaterialDesign控件库3.2工程结构只修改了App.xaml(添加MD控件样式)和MainWindow.xaml(主窗口实现效果)。3.3App.xaml引入MD控件样式<Applicationx:Class="CustomMenu.App"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:Custo...
首页上一页...7172737475...下一页尾页