- 假日说影 l 《目击者之追凶者》人性是复杂的
mickjoust
《目击者之追凶者》目击者之追凶目擊者(2017)又名:WhoKilledCockRobin导演:程伟豪编剧:程伟豪/陈昱俐/陈彦齐主演:庄凯勋/许玮甯/柯佳嬿/李铭顺/李淳/更多...类型:悬疑/惊悚/犯罪制片国家/地区:台湾语言:汉语普通话/闽南语上映日期:2017-03-31(台湾)/2017-06-21(上海电影节)片长:117分钟观影时间:2017年10月14日推荐指数:★★★★☆——4星
- 2017-06-21
小板凳槿沐
心如阳光般温暖阳光从窗帘的缝隙中穿过洒落在窗前我睁开睡意朦胧的眼感受这阳光带来的温暖我忍不住径直向前打开厚厚的帘微风拂过脸庞我闭着双眼微风带来了栀子花香的气息感谢阳光,感谢微风让我在清晨与你相遇
- 2017-06-21
我的梦我做主
成长的定义是,亲自撞过南墙,才知道疼!得体的举止、丰富的内心和智慧的头脑,从来不是一蹴而就,她们是时间的淬炼。见过生活凌厉,依然内心向暖!争论有意义吗?生活中哪有那么多大是大非值得争得你死我活,你以为平时别人不说话是服了你?她们要么是不和傻瓜论长短,觉得跟你说话浪费时间,要么是体谅你,不忍心真把你说败了,宁愿自己委屈。
- 2017-06-21
Lottaaa
用自己做家教挣得第一份工资买了一块不算很优质的手表可是它仍显珍贵因为被赋予了特别的意义2017.6.2123:35
- 2017-06-21
丑到外太空
图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App图片发自App
- python常用模块
achen1112
json数据库shell
模块:本质上就是一个.py文件模块分为三部分:内置模块、第三方模块、自定义模块一、time模块1.时间表示形式在python中,通常有三种方式来表示时间:(1)时间戳(timestamp):时间戳表示的是从1970年1月1日00:00:00开始按秒计算的,是folat类型。(2)格式化的时间字符串(FormatString):‘2017-06-21(3)结构化时间:共有9个元素共九个元素:(年,月
- 2017-06-21
左手咖啡右手茶
图片发自App图片发自App图片发自App图片发自App咖啡豆烘焙机有这么多种,家用的前四种,这是一种不可企及的鸿沟,几十块先买一个玩玩吧...只能怪自己没钱
- 2017-06-21
时光不知道
图片发自App图片发自App遇到的都是些什么奇葩啊,好吧,我只想说我要面对着大海静静地思考人生......
- 2017-06-21 短诗
Kokro
在这个世界上,有谁不孤单呢?或者说,有谁不曾孤单过呢?能讲出来的,只是故事。而那些埋在心底的,才是心事。如痴如醉,到头来,黄粱一梦。
- 2017-06-21
牤子
每个人心中都有自己的早晨,时候到了人会自己醒来。图片发自App心理学显示,好感最多存在4个月。一旦超过,那就是爱了。不想勉强自己喜欢别人,也绝不勉强别人喜欢自己,各自安好。总该长大,总该试着去成熟,放弃一些曾经你以为分离不了的东西,即使这个过程漫长且难捱,当作睡前关上的灯吧,明早醒来,阳光还在。图片发自App多想喝一壶清淡的茶,不论暖和凉,品味半世的沧桑。多想爱一个平静的人,不问对与错,携手乱世的
- 2017-06-21
许之欢喜
竹林七贤图,阮籍创造了什么?留下的是故事。他喜欢啸,很多人等他的啸。早上起来爬山,没路可走,大哭。大仁大恶都不会出现这样的故事。阮籍的母亲去世了,可是阮籍一点眼泪都不流。悲哀的是当别人逼他去表演的时候,他不会去表演的。阮籍喜欢和一个少妇聊天。阮籍不在意这些东西。人性的个案,在整个道统里我们都不敢做阮籍。巨大的社会的规矩和立法。鲁迅很赞美阮籍。他写的东西十分的悲剧。嵇康是个帅哥。娶了皇帝的妹妹常乐公
- 30.小结
青先生书房
2017-06-21一大早做噩梦了~我梦到了戴阳证,元阳暴脱,两颧红赤,手足厥冷,头晕只能躺着,脉微,我心急如焚,想去给她找附子干姜,可是过不去。干着急,然后就醒了,一看才四点半~好可怕的梦,梦里拼命想着阴寒内盛,格拒阳气,白通汤证,四逆汤证,哪怕来不及只给我附子和干姜就行~醒了,回想,觉得这是关格最严重的程度吧,阴阳本是相互交融相互化生的,阴阳的短暂平衡才维持了人的存在,当阴阳若水火不容之时,便
- 2017-06-21
若涛
燃烧的冰雪1963年元月18日一列满载着战士和军用物资的火车在清晨的浓雾中飞驰着,一路向北孙小虎将近一米八的个头在这个年代确实算得上是高大的,本来国旗护卫队要他加入,偏偏他的将军爸爸一定要他下连队锻炼,并且要去最苦最难的地方,所以才一入伍就坐上了这趟开往寒冷的专列,而目的地直到现在还没人知道
- 2017-06-21
安好吗
DAY2R:尽量找出不被侵犯的“圣地”I:工作,吃饭,睡觉,这三件事是我们每天必须付出时间的。我们要找的不被打扰的学习时间,找到那个时间段是不用做这三件事的,就是最有效的时间。就是我们的“圣地”A1:讲述自己的相关经历。我目前的上班时间比较固定,都是9点上班。所以早上7:00~8:00的时间比较固定,可以给自己做计划和安排时间学习。A2:今后如何做7:00起床,先背单词30分钟,剩下30分钟复习自
- 2017-06-21
布合时怡
记忆中的童年童年是待在家人和乡亲们围的圈里吃喝玩乐不知烦恼不懂寂寞童年是大年初一早上斜挎着妈妈缝的书包满村子跑去赚压岁钱童年是天还没亮就有同学在窗外喊着然后一起去上学童年是放学后和同学一起在院子里踢毽子直到暮色笼罩才悻悻散去童年是放了秋假一整天在枣树下吃枣捡枣回到家踩着满院的豆秆玩童年时不知道外面还有一个大千世界却依然过得自得其乐如今暮然回首童年竟是在世外桃源中度过
- 2017-06-21
少女与野花
“我的宿命分为两段,未遇见你时,和遇见你以后。你治好我的忧郁,而后赐我悲伤。忧郁和悲伤之间的片刻欢喜,透支了我生命全部的热情储蓄。想饮一些酒,让灵魂失重,好被风吹走。可一想到终将是你的路人,便觉得,沦为整个世界的路人。风虽大,都绕过我的灵魂。”“请问,您是在等谁吗?”“是啊。”"天空安静得只有树叶呼吸的声音"他慢慢从怀里拿出一个旧钱包,小心打开。引入眼帘的是一张老照片。她们已经被时间带走了。”“那
- 2017-06-21
sageness
下面就讲讲我对管理企业的一些个人体会。刚才提到了1998年万科已经成为中国最大的房地产公司,也就是在第二年,1999年我48岁的时候辞去总经理职务,在辞职的时候我做了一个公开讲演,就说我不当总经理了,但是我对公司运转很放心。因为我给万科留下了四个东西:第一个是制度,现代企业制度。刚才讲不行贿是它的底线,当然只是它制度的一方面,还有透明、规范、阳光;第二个,培养了一个团队;第三个,选择了一个行业,选
- 2017-06-21
豆瓣儿_b63d
2017年6月21日星期三晴五年级二班崔津恺妈妈儿子放学在家写作业,写了一会儿突然对我说:“妈妈,我的英语新课堂忘拿了,怎么办?”听到这样的问题我很生气,这样的毛病以前也出现过一两次,我都让他第二天课间做完,晚上带回来我检查一遍。可现在马上要考试了,还这样马马虎虎,我生气的说:“没带正好,你不用做了,我一会儿给英语老师发个微信,让老师明早回去先检查你的作业,看你怎么办?”说完,我就带着小女儿出去了
- 2017-06-21
清沫淋紫
时光慢慢卷空了内心深处的柔软留下心痛在无奈里煎滞在蹉跎中迷失心头缭乱的思绪斑驳了多少记忆几度横穿烟雨几翻怅然若失潸然中回首看到了疲惫的自己曾经的心动化为永远的心痛图片发自App
- 2017-06-21
阿心嗷
图片发自App你明白你的一生多情又忐忑心碎以后你说要小心些活着不要招惹别人,不要被别人招惹,出现了一个人又一个人,坐在对面说着从来不存在永久的关系,你笑了笑,意外,魔鬼一样的热恋的少女在你心里吹着气,你说,活在当下,爱咋咋地吧。
- 2017-06-21
孙建胜_fa1a
2017.年6月21日星期三儿子这几天表现都挺好,可是今天的数学作业使我火冒三丈,竖式计算错了三道,还有一道简便方法。怎么也压不住火,对他一阵吼,把他又吼哭了,哎,吼完又后悔。对他说:妈也不想对你大声,可是你这么粗心怎么办?以后一定要细心,做就要认真。明白吗?"儿子说“明白了。”一定要让儿子养成做事认真细心的习惯。
- 彭小六早读会日报(2017-06-21)
BigQ个人成长
彭小六“梦想领读会”作业·你是学习忍者吗?作者:彭海宇说到忍者,首先让我想到的是“火影忍者”。动漫中的忍者们都是用自己忍道来规范着自己的行为,以此来引导着自己走的路。那什么是学习忍者呢?让我来和你分享我的理解。我知道开始“点击阅读全文彭小六私密群日更计划·20小时快速学会一项技能作者:有杕之杜尔文.布鲁克斯.怀特说:“我们每天很早起床,既想认认真真做点事,又想无忧无虑去玩乐,对我来说,做好一天的计
- 2017-06-21
米米er
2.说你一大老爷们儿家,一大清早儿的就站在当院满嘴跑火车,半点儿不着调,我隔着窗户纸这都运一脑门子气了,您这是唱的哪出儿啊?对,没错,就说你呢。
- 2017-06-21
Lloves狙击手
164期体彩推荐中直选,福彩中胆码。【3D+P3】Lloves@狙击手=☞推荐体彩P3胆码154期3569-356-35-3开奖号码【215】中双胆155期2367-367-67-6开奖号码【004】挂挂挂156期3489-348-38-3开奖号码【007】挂挂挂157期4578-478-48-8开奖号码【818】中毒胆158期2345-245-24-2开奖号码【083】中次胆159期1234-2
- 2017-06-21
简述如下意见
图片发自App2017年,18年来的回顾,原来你们都有美好的记忆……原来也有那么几个美好的瞬间被治愈,原来也有那么多美丽的误会被忽悠,原来也有那么遥远的曾经。
- 把茶杯放低一点
陌上牧笛
2017-06-21禅茶文化图片发自App一个满怀失望的年轻人千里迢迢来到一座寺院,对主持释圆说:“我一心一意要学丹青,但至今也没有找到一个能令我心满意足的老师。”释圆笑笑问:“你走南闯北十几年,真没能找到一个自己满意的老师吗?”年轻人深深叹了口气说:“许多人都是徒有虚名啊!我见过他们的画,有的画技甚至不如我呢!”释圆听了,淡淡一笑说:“老僧虽然不懂丹青,但也颇爱收集一些名家精品。既然施主的画技不
- 2017-06-21
夕影西逝
随笔:长见识了,最近迷上了中央十台的一个电视节目《大真探》觉得挺有趣的,但野外生存可不有趣,有趣的那种是野营。节目里边的求生专家被要求送往世界上各种难以生存的地方:亚马孙丛林、天空岛山脉、天堂鸟等。他们随身携带的物件也只有贴身衣物,小刀,一小壶水,还有随行的拍摄人员,不到危及生命的时刻,他们是不会主动向拍摄人员求助。野外生存确实是一个挑战,这意味着他们不得不挑战自己的底线,下决心做平时不会做的事。
- 2017-06-21 星期三
chenglee
这两天大表哥放假来深圳了,昨晚我们还是住在大霖家了,睡不惯他家的床,两点都没有睡,早上七点半左右就起床了,这一天又是非常的累,特别是中午睡午觉前后午觉醒来之后真的非常难受。这样真的就是一种在消耗生命的感觉。要养成好的习惯了,就好像之前说过的那样迷茫可以,但是不要停下脚步,同样的,难受可以,但请不要伤害自己不要别人对你没要求你就觉得你自己很OK上面那句话是前几天写下的,原因就是自己上班迟到,而且上班
- 2017-06-21
桐花烂漫
突然发现想你睡不着,不知道你是否也和我一样。早上看你4点多还给我点赞,突然有点开心。也有点心疼,你为什么这么晚还没睡。希望你开心,晚安,雨桐
- 2017-06-21
清沫淋紫
性格索然从来不会去挑事寡言的人总会被中伤这世上人多嘴杂想过好自己还真不容易图片发自App
- jQuery 键盘事件keydown ,keypress ,keyup介绍
107x
jsjquerykeydownkeypresskeyup
本文章总结了下些关于jQuery 键盘事件keydown ,keypress ,keyup介绍,有需要了解的朋友可参考。
一、首先需要知道的是: 1、keydown() keydown事件会在键盘按下时触发. 2、keyup() 代码如下 复制代码
$('input').keyup(funciton(){  
- AngularJS中的Promise
bijian1013
JavaScriptAngularJSPromise
一.Promise
Promise是一个接口,它用来处理的对象具有这样的特点:在未来某一时刻(主要是异步调用)会从服务端返回或者被填充属性。其核心是,promise是一个带有then()函数的对象。
为了展示它的优点,下面来看一个例子,其中需要获取用户当前的配置文件:
var cu
- c++ 用数组实现栈类
CrazyMizzz
数据结构C++
#include<iostream>
#include<cassert>
using namespace std;
template<class T, int SIZE = 50>
class Stack{
private:
T list[SIZE];//数组存放栈的元素
int top;//栈顶位置
public:
Stack(
- java和c语言的雷同
麦田的设计者
java递归scaner
软件启动时的初始化代码,加载用户信息2015年5月27号
从头学java二
1、语言的三种基本结构:顺序、选择、循环。废话不多说,需要指出一下几点:
a、return语句的功能除了作为函数返回值以外,还起到结束本函数的功能,return后的语句
不会再继续执行。
b、for循环相比于whi
- LINUX环境并发服务器的三种实现模型
被触发
linux
服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器。按处理方式来分有循环服务器和并发服务器。
1 循环服务器与并发服务器模型
在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。
目前最常用的服务器模型有:
·循环服务器:服务器在同一时刻只能响应一个客户端的请求
·并发服务器:服
- Oracle数据库查询指令
肆无忌惮_
oracle数据库
20140920
单表查询
-- 查询************************************************************************************************************
-- 使用scott用户登录
-- 查看emp表
desc emp
- ext右下角浮动窗口
知了ing
JavaScriptext
第一种
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/
- 浅谈REDIS数据库的键值设计
矮蛋蛋
redis
http://www.cnblogs.com/aidandan/
原文地址:http://www.hoterran.info/redis_kv_design
丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。
- maven编译可执行jar包
alleni123
maven
http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven
<build>
<plugins>
<plugin>
<artifactId>maven-asse
- 人力资源在现代企业中的作用
百合不是茶
HR 企业管理
//人力资源在在企业中的作用人力资源为什么会存在,人力资源究竟是干什么的 人力资源管理是对管理模式一次大的创新,人力资源兴起的原因有以下点: 工业时代的国际化竞争,现代市场的风险管控等等。所以人力资源 在现代经济竞争中的优势明显的存在,人力资源在集团类公司中存在着 明显的优势(鸿海集团),有一次笔者亲自去体验过红海集团的招聘,只 知道人力资源是管理企业招聘的 当时我被招聘上了,当时给我们培训 的人
- Linux自启动设置详解
bijian1013
linux
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。
阅读之前建议先看一下附图。
本文中假设inittab中设置的init tree为:
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc
- Spring Aop Schema实现
bijian1013
javaspringAOP
本例使用的是Spring2.5
1.Aop配置文件spring-aop.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmln
- 【Gson七】Gson预定义类型适配器
bit1129
gson
Gson提供了丰富的预定义类型适配器,在对象和JSON串之间进行序列化和反序列化时,指定对象和字符串之间的转换方式,
DateTypeAdapter
public final class DateTypeAdapter extends TypeAdapter<Date> {
public static final TypeAdapterFacto
- 【Spark八十八】Spark Streaming累加器操作(updateStateByKey)
bit1129
update
在实时计算的实际应用中,有时除了需要关心一个时间间隔内的数据,有时还可能会对整个实时计算的所有时间间隔内产生的相关数据进行统计。
比如: 对Nginx的access.log实时监控请求404时,有时除了需要统计某个时间间隔内出现的次数,有时还需要统计一整天出现了多少次404,也就是说404监控横跨多个时间间隔。
Spark Streaming的解决方案是累加器,工作原理是,定义
- linux系统下通过shell脚本快速找到哪个进程在写文件
ronin47
一个文件正在被进程写 我想查看这个进程 文件一直在增大 找不到谁在写 使用lsof也没找到
这个问题挺有普遍性的,解决方法应该很多,这里我给大家提个比较直观的方法。
linux下每个文件都会在某个块设备上存放,当然也都有相应的inode, 那么透过vfs.write我们就可以知道谁在不停的写入特定的设备上的inode。
幸运的是systemtap的安装包里带了inodewatch.stp,位
- java-两种方法求第一个最长的可重复子串
bylijinnan
java算法
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class MaxPrefix {
public static void main(String[] args) {
String str="abbdabcdabcx";
- Netty源码学习-ServerBootstrap启动及事件处理过程
bylijinnan
javanetty
Netty是采用了Reactor模式的多线程版本,建议先看下面这篇文章了解一下Reactor模式:
http://bylijinnan.iteye.com/blog/1992325
Netty的启动及事件处理的流程,基本上是按照上面这篇文章来走的
文章里面提到的操作,每一步都能在Netty里面找到对应的代码
其中Reactor里面的Acceptor就对应Netty的ServerBo
- servelt filter listener 的生命周期
cngolon
filterlistenerservelt生命周期
1. servlet 当第一次请求一个servlet资源时,servlet容器创建这个servlet实例,并调用他的 init(ServletConfig config)做一些初始化的工作,然后调用它的service方法处理请求。当第二次请求这个servlet资源时,servlet容器就不在创建实例,而是直接调用它的service方法处理请求,也就是说
- jmpopups获取input元素值
ctrain
JavaScript
jmpopups 获取弹出层form表单
首先,我有一个div,里面包含了一个表单,默认是隐藏的,使用jmpopups时,会弹出这个隐藏的div,其实jmpopups是将我们的代码生成一份拷贝。
当我直接获取这个form表单中的文本框时,使用方法:$('#form input[name=test1]').val();这样是获取不到的。
我们必须到jmpopups生成的代码中去查找这个值,$(
- vi查找替换命令详解
daizj
linux正则表达式替换查找vim
一、查找
查找命令
/pattern<Enter> :向下查找pattern匹配字符串
?pattern<Enter>:向上查找pattern匹配字符串
使用了查找命令之后,使用如下两个键快速查找:
n:按照同一方向继续查找
N:按照反方向查找
字符串匹配
pattern是需要匹配的字符串,例如:
1: /abc<En
- 对网站中的js,css文件进行打包
dcj3sjt126com
PHP打包
一,为什么要用smarty进行打包
apache中也有给js,css这样的静态文件进行打包压缩的模块,但是本文所说的不是以这种方式进行的打包,而是和smarty结合的方式来把网站中的js,css文件进行打包。
为什么要进行打包呢,主要目的是为了合理的管理自己的代码 。现在有好多网站,你查看一下网站的源码的话,你会发现网站的头部有大量的JS文件和CSS文件,网站的尾部也有可能有大量的J
- php Yii: 出现undefined offset 或者 undefined index解决方案
dcj3sjt126com
undefined
在开发Yii 时,在程序中定义了如下方式:
if($this->menuoption[2] === 'test'),那么在运行程序时会报:undefined offset:2,这样的错误主要是由于php.ini 里的错误等级太高了,在windows下错误等级
- linux 文件格式(1) sed工具
eksliang
linuxlinux sed工具sed工具linux sed详解
转载请出自出处:
http://eksliang.iteye.com/blog/2106082
简介
sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾
- Android应用程序获取系统权限
gqdy365
android
引用
如何使Android应用程序获取系统权限
第一个方法简单点,不过需要在Android系统源码的环境下用make来编译:
1. 在应用程序的AndroidManifest.xml中的manifest节点
- HoverTree开发日志之验证码
hvt
.netC#asp.nethovertreewebform
HoverTree是一个ASP.NET的开源CMS,目前包含文章系统,图库和留言板功能。代码完全开放,文章内容页生成了静态的HTM页面,留言板提供留言审核功能,文章可以发布HTML源代码,图片上传同时生成高品质缩略图。推出之后得到许多网友的支持,再此表示感谢!留言板不断收到许多有益留言,但同时也有不少广告,因此决定在提交留言页面增加验证码功能。ASP.NET验证码在网上找,如果不是很多,就是特别多
- JSON API:用 JSON 构建 API 的标准指南中文版
justjavac
json
译文地址:https://github.com/justjavac/json-api-zh_CN
如果你和你的团队曾经争论过使用什么方式构建合理 JSON 响应格式, 那么 JSON API 就是你的 anti-bikeshedding 武器。
通过遵循共同的约定,可以提高开发效率,利用更普遍的工具,可以是你更加专注于开发重点:你的程序。
基于 JSON API 的客户端还能够充分利用缓存,
- 数据结构随记_2
lx.asymmetric
数据结构笔记
第三章 栈与队列
一.简答题
1. 在一个循环队列中,队首指针指向队首元素的 前一个 位置。
2.在具有n个单元的循环队列中,队满时共有 n-1 个元素。
3. 向栈中压入元素的操作是先 移动栈顶指针&n
- Linux下的监控工具dstat
网络接口
linux
1) 工具说明dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. 与sysstat相比, dstat拥有一个彩色的界面, 在手动观察性能状况时, 数据比较显眼容易观察; 而且dstat支持即时刷新, 譬如输入dstat 3, 即每三秒收集一次, 但最新的数据都会每秒刷新显示. 和sysstat相同的是,
- C 语言初级入门--二维数组和指针
1140566087
二维数组c/c++指针
/*
二维数组的定义和二维数组元素的引用
二维数组的定义:
当数组中的每个元素带有两个下标时,称这样的数组为二维数组;
(逻辑上把数组看成一个具有行和列的表格或一个矩阵);
语法:
类型名 数组名[常量表达式1][常量表达式2]
二维数组的引用:
引用二维数组元素时必须带有两个下标,引用形式如下:
例如:
int a[3][4]; 引用:
- 10点睛Spring4.1-Application Event
wiselyman
application
10.1 Application Event
Spring使用Application Event给bean之间的消息通讯提供了手段
应按照如下部分实现bean之间的消息通讯
继承ApplicationEvent类实现自己的事件
实现继承ApplicationListener接口实现监听事件
使用ApplicationContext发布消息