- vue-router和锚点冲突问题
TaoLandd
传统的锚点定位会与vue-router中的路由设置存在冲突,都是使用'#'进行的,所以这里使用一直方法来模拟锚点跳转,并使用tween.js达到动态的过度效果不使用原生锚点,使用这种方式解决import'../static/js/animation.js'import'../static/js/tween.js'xxxxmethods:{anchor:function(e){letid='anch
- vue:监听路由的变化
沐子a~
vue.jsjavascript前端
1.vue3import{useRouter}from'vue-router'constrouter=useRouter()//监听当前路由watch(()=>router.currentRoute.value,(newValue:any)=>{console.log('newValue',newValue)},{immediate:true})2.vue2watch:{$route:{handl
- react快速开始项目模板
飞鸟malred
前端react.js前端前端框架
代码仓库gitee创建项目首先保证安装了node,然后使用vite创建项目vitenpmcreatevitereact-learncdreact-learnnpmi目录结构一个完整的前端项目需要:状态管理在全局维护共有的状态(数据),让页面组件之间共享数据,我们使用pinia路由路由让页面之间可以进行跳转,我们使用vue-router样式样式让页面更美观,我们使用tailwindcss网络请求前端
- vue3.0(十六)路由vue-router
程楠楠&M
vue3.0vue.js前端javascripthtml5vue-router
文章目录路由vue-router路由1.vue-router功能2.vue-router组成3.vue-router常用的函数vue-router使用1.安装2.vue3.0配置3.vue2.0配置4.基本用法5.编程式导航6.路由懒加载导航守卫路由的两种工作模式路由路由(routing)路由是指从源页面到目的页面时,决定端到端路径的决策过程。前端路由前端路由即由前端来维护一个路由规则。实现模式有
- html5路由如何在nginx上部署(vite+vue3)
大眼小夫
html5nginx前端
我们知道前端常用的有Hash模式和html5模式的路由,hash模式在nginx上部署不需要额外的操作,而html5模式则需要额外设置,这里介绍下如何在nginx根地址(location/{})下部署和在非根地址上(location/admin{})部署。在这之前,我先说一下为什么html5路由需要在nginx上配置,我们知道,vue-router就是用来处理路由的,我我们在浏览器上输入地址时,这
- Vue3基础(5)——前端路由、vue-router
番大茄子
Vuevue.jsjavascript
黑马程序员Vue全套视频教程,从vue2.0到vue3.0一套全覆盖,前端必会的框架教程_哔哩哔哩_bilibili喜欢的小伙伴们别忘了投币,点赞,收藏呦,历经5年的反复打磨与锤炼,黑马程序员重磅推出全套最新的Vue2+Vue3基础课程。共计500多集的免费视频,助您轻松掌握前端圈最火的Vue框架!https://www.bilibili.com/video/BV1zq4y1p7ga?p=399&
- 【Element Plus】Menu组件:url访问页面时高亮对应菜单栏
karshey
前端小问题vue.jsjavascript前端
文章目录场景代码解决场景使用ElementPlus的Menu菜单|ElementPlus时,点击对应菜单会显示对应路由,此时会高亮选中菜单栏。但输入url访问对应路径,菜单栏不会默认高亮。需求:url访问页面时高亮对应菜单栏。代码router:import{createRouter,createWebHistory}from'vue-router'exportconstroutes=[{path:
- [vue vue-router]vue3路由获取请求参数
在使用vue路由的时候,比如有一个tab栏,点击tab栏不同的tab切换。在配置二级路由时,不把id写死,作为路由参数站位routes:[{path:'/',component:Layout,children:[{path:'',component:Home},{//此处我们把id作为一个可变id配置path:'/category/:id',component:Category}]},{path:
- 模块自动导入的小工具
qq_46435701
vue.jsjavascript前端
import{ref,reactive,onMounted}from'vue'import{useRoute,useRouter}from'vue-router'项目里很多文件都需要引入这些公共库,比较繁琐,使用一个小工具可以自动导入,就不需要在每个文件里面都写这些导入的代码了。通过命令行下载安装npminstallunplugin-auto-import然后去配置文件去修改配置,由于我目前的项目
- vue3 setup里获取query params路由携带的参数
不知名前端v2
vue前端vue3javascriptvue.js前端
import{useRouter}from'vue-router'setup(){constrouter=useRouter()console.log(router.currentRoute.value.query)console.log(router.currentRoute.value.params)通过router.currentRoute.value里的参数获取//路由跳转router.p
- vue2/3 - 报错Uncaught TypeError: (0 , vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent) is not a funct
十一猫咪爱养鱼
前端常见问题解决前端组件与功能(开箱即用)vue常见问题解决vue2vue3浏览器控制台报错详细解决vue报错UncaughtTvue__WEBPACK_IMvue-router路由改变路由版本和vue版本还不行
错误描述在vue2|vue3开发,报错:UncaughtTypeError:(0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)isnotafunction,大概率vue-router路由问题(当然也可能是别的原因),浏览器控制台报错报红,页面也可能白屏打不开,意思是“未捕获的类型错误”,vue开发很奇怪的错误,就算换了各种包的版本还是不行,本文
- vue项目,页面刷新就404了
在Vue.js项目中,如果使用了vue-router并且路由模式设置为history模式,那么在刷新页面或直接访问某个路由时,可能会遇到404错误。这是因为history模式下,前端路由的路径并不匹配服务器上的实际路径,导致服务器无法找到对应的资源。解决方案要解决这个问题,需要在服务器配置中将所有请求重定向到index.html,让前端的Vue.js应用接管路由逻辑。1.Nginx配置如果你使用N
- vue3 + ts + vite + element-plus根据url路径保持对应栏目高亮
yskbchewidhw
vue3前端javascripttypescript
上代码:000111222333YzpAction1Action2退出import{ref}from"vue"import{useRouter}from"vue-router"importlogosfrom"@/assets/img/logo.svg"constrouter=useRouter()//img资源constlogo=ref(logos)leturlname=router.curren
- vue3结合element-plus封装ems菜单栏组件
进阶的巨人001
vue.jstypescriptelement-plus后台管理系统
效果如下:ok,开始代码nav-menu.vueVue3+TS{{item.name}}{{subitem.name}}{{item.name}}import{defineComponent,computed,ref}from'vue'import{useStore}from'@/store'import{useRouter,useRoute}from'vue-router'import{path
- Vue 自动导入函数和变量插件 unplugin-auto-import
HarryHY
#vue3.0vue.js前端javascript
安装npmiunplugin-auto-import-Dvite.config文件//引入importViteAutoImprotfrom'unplugin-auto-import/vite';//自动导入常用函数和变量//配置plugins:[ViteAutoImprot({imports:['vue','vue-router'],//自动导入常用函数和变量}),]使用//import{ref.
- 使用Vite构建Vue3项目,对路由Vue Router 4.x的设置
夏日米米茶
web前端Vue3vue-routervue3vite
Vue3官网:https://v3.cn.vuejs.org/Vite官网:https://cn.vitejs.dev/VueRouter官网:https://next.router.vuejs.org/zh/使用Vite构建时,会和以前的有些写法有些不同,例如之前我们使用//导入路由对象importVueRouterfrom'vue-router'//路径配置.vue可以省略constroute
- iframe三方页面嵌入
啊~哈
vue.jsjavascript前端
一、html代码二、拼接urlimport{ref}from"vue";import{getToken}from"@/utils/auth";importdomainfrom"@/utils/http/domain";import{useRoute}from"vue-router";importCryptoJSfrom"crypto-js";constSECRET_KEY="H6uZdDcB8Jb
- Vue2中路由的使用
22x艾克斯
vue.js
vue-router是vue的一个插件库,专门用于SPA(单页面应用)一个路由就是一组映射关系key-value,key是路径,value是组件创建路由表,多级路由需要配置child时不需要写父路径mode:设置路由模式hash:哈希模式,默认模式,当URL改变的时候,页面不会重新加载,在URL中会有#不太美观,当用户刷新页面的时候,如果没有正确的路由匹配,可能会显示404history:可以使用
- vue路由的使用与鉴权
香蕉可乐荷包蛋
vuevue.jsjavascript前端
在Vue项目中,使用vue-router实现路由管理是构建单页应用(SPA)的核心部分。结合鉴权机制可以实现登录验证、权限控制等常见业务需求。文章目录一、VueRouter基本使用1.安装2.配置路由3.挂载到Vue应用4.使用``和``二、路由鉴权实现(登录验证+权限控制)1.路由元信息(meta)2.全局前置守卫(导航守卫)3.动态添加路由(按角色权限加载不同页面)4.组件内守卫(可选)三、完
- 前端(vue)学习笔记(CLASS 6):路由进阶
肥肠可耐的西西公主
vue.js前端学习
1、路由的封装抽离将之前写在main.js文件中的路由配置与规则抽离出来,放置在router/index.js文件中,再将其导入回main.js文件中,即可实现路由的封装抽离例如//index.jsimport{createMemoryHistory,createRouter}from'vue-router'importHisPagefrom'../views/HisPage.vue'import
- 异常解决---Uncaught (in promise) NavigationDuplicated {_name: "NavigationDuplicated"}的解决方法
一块小砖头儿
vuevue
最近在使用vue做项目的时候,点击左侧同一个页面(相同路由)会导致报错Uncaught(inpromise)NavigationDuplicated{_name:"NavigationDuplicated",name:"NavigationDuplicated"}解决办法importRouterfrom'vue-router';Vue.use(Router)//添加这下面一段代码,就可以解决报错c
- vue项目部署后部分子页面刷新后403
毛三仙
博客前端
经过我的仔细分析;终于找到了是刷新后路径后面自动拼接了/;如66.66.66.66/aPage刷新后变成了66.66.66.66/aPage/导致403方法一:修改路由为hash模式//router/index.jsimport{createRouter,createWebHistory,createWebHashHistory}from'vue-router'constrouter=create
- uniapp 发布 H5监听路由变化
某公司摸鱼前端
uni-app前端服务器
由于uni.onAppRoute的兼容性问题h5环境下监听路由出了问题解决方案://App.vuewatch:{'$route.meta.pagePath':{handler:function(newVal){//处理}}}没错,也就是Vue-router的route
- vue3-admin商品管理后台项目(登录页开发和功能实现)
mzldustu
vue-admin项目javascriptvue.js前端
今天来实现vue3-admin商品管理后台项目的登录页功能首先在pages文件夹下面添加一个login.vue文件,里面先写入简单的template登录然后在router文件夹下面的Index.js里面编辑,仍然是引入页面配置路由,about页暂时没啥用,只是测试用的,所以就把它删了。import{createRouter,createWebHashHistory}from'vue-router'
- vue-router的详细安装及配置
愚公爱上精卫
vuevue.js前端javascript
目录1、安装路由,2、引入并配置路由3、路由的视图展示4、路由跳转方式以及传递参数5、路由组件独有的两个钩子函数(也称之为生命周期),用于捕获路由组件的激活状态。6、路由的导航守卫1、安装路由,vue给我们提供了路由功能,该包需要单独安装。npminstallvue-router-S如果你的vue版本是2.0+那就要安装vue-router@3版本一下的,因为vue-router@4的版本只适合v
- 新搭建一个 Vue 项目后,我有了这 15 点思考
前端瓶子君
javahtmlvuecssweb
作者:codexuhttps://juejin.cn/post/69014669944789401681.分解需求技术栈考虑到后续招人和现有人员的技术栈,选择Vue作为框架。公司主要业务是GIS和BIM,通常开发一些中大型的系统,所以vue-router和vuex都是必不可少的。放弃了ElementUI选择了AntDesignVue(最近Element好像复活了,麻蛋)。工具库选择lodash。建
- active-class 是哪个组件的属性?
nanzhuhe
前端
active-class属于vue-router的样式方法,当router-link标签被点击时将会应用这个样式一、首先,active-class是什么,active-class是vue-router模块的router-link组件中的属性,用来做选中样式的切换;相关可查阅文档:https://router.vuejs.org/zh-cn/api/router-link.html二、在vue-ro
- 前端基础之《Vue(12)—插件封装》
csj50
前端基础前端vue
一、插件封装1、在Vue生态中,除了Vue本身,其它所有的与Vue相关的第三方包,都是插件例子:importVueRouterform'vue-router'Vue.use(VueRouter)//注册插件2、如何封装Vue插件(1)第一种写法constPlugin={install(Vue){//dosomething}}(2)第二种写法constPlugin=function(Vue){}3、
- Ant Design Vue3 + TypeScript + Vite 左侧菜单生成
zngfue
vue+typescripttypescriptvue.js
AntDesignVue3提供了Menu组件用于生成左侧菜单,我们可以使用Menu组件来构建左侧菜单。下面是一个示例:DashboardUserProfileListimport{defineComponent}from'vue';import{useRoute}from'vue-router';exportdefaultdefineComponent({setup(){constroute=us
- 下载和初步上手Vue3路由
lh_1254
vue.js前端
一、安装路由bash#使用npm安装npminstallvue-router@4#或使用yarnyarnaddvue-router@4二、路由配置与暴露1.路由配置文件router/index.jsjavascriptimport{createRouter,createWebHistory}from'vue-router'//定义路由数组,每个对象代表一个路由配置constroutes=[{//路
- 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发布消息