- Delphi 10.4.1 EdgeBrowser 模拟操作网页方法
Memoselect
Delphi10++
Delphi10.4.1EdgeBrowser模拟操作网页方法以往一直用TWebBrowser或者C++Builder中的TCcpWebBrowser来写网页模拟操作这两个控件可以使用WebBrowser.OleObject.document、WebBrowser.DocumentAsIHTMLDocument2来实现大部分的操作发现这两者都是依赖于IE内核,虽然可以设定IE11内核,但是今年微软
- css 在div左上角添加类似书签的标记
嗬呜阿花
STYLELISTcss前端html
效果图html半导体CSS.mark{float:left;margin:06rpx;position:relative;padding:0;width:24px;color:#fff;writing-mode:sideways-rl;text-align:center;}.mark::after{position:absolute;content:"";left:0;top:100%;borde
- 一文教你实现前端自定义浮窗
在页面布局中,我们通常会给指定区域做限制,若元素超出了指定区域则会隐藏(overflow:hidden;)。而文字提示框组件却能精准定位指定元素,并不受overflow:hidden;元素的影响。这是因为文字提示框组件是直接挂载在body下的,所以它不受页面布局的影响,其它的弹窗组件也是类似的原理,例如:modal组件、对话框组件、mask组件、toast组件等。要实现提示框组件,有两个核心点需要
- css 浮动在最上层_css样式如何控制div到最顶层
Xpc1
css浮动在最上层
展开全部1、新建一个html文件,命名为test.html2、在test.html文件内,使用css设置页面所有的div宽度为300px,高度为300px,div的位置为绝对定位。e68a8432313133353236313431303231363533313334313663343、在test.html文件内,创建三个div,并用文字标识,分别为底层div、中层div、最顶层div。4、在te
- 服务器是什么?
weixin_34258782
====转载于:https://www.cnblogs.com/Chamberlain/p/10739300.html
- 深度解析 React 中 setState 的原理:同步还是异步
在React框架的核心机制里,setState是实现动态交互与数据驱动视图更新的关键枢纽。深入理解setState的工作原理,尤其是其同步与异步的特性,对于编写高效、稳定且可预测的React应用至关重要。一、setState的基础认知在React组件中,状态(state)是驱动组件行为与渲染结果的核心数据。setState作为更新状态的唯一官方途径,负责触发组件的重新渲染,从而反映出状态的变化。以
- 整理了一些上课学dw的笔记
臨鱼羡上天
计算机软件资料dw资料dw总结整理
整理了一下上课学dw的资料第一章:网页概述怎样查看网页的源代码:在网页的空白处右击,选择查看源代码,就可以看到网页的HTML代码文件,若表示是用HTMLS版本开发的网站。网页的相关概念:IP地址是:主机66.124.34.560-255之间域名:对应IP地址的www.sdcit.cnURL:网页的地址http://www.sdcit.cn/xyzx/jindex.htmlhttp:传输协议。HTM
- 从零开始学 MobX Store:简化 React 数据管理
javascriptreact
学习如何使用MobXStore在React应用中实现全局状态管理。本文通过简单的购物车功能示例,帮助你理解MobXStore的基本概念、使用方法以及如何高效共享和管理数据,解决多组件间的数据同步问题。适合所有想提升React开发效率的开发者。文章目录什么是MobXStore?先理解问题MobXStore提供哪些功能?MobX的两种写法1.装饰器写法(旧版本常见)2.makeObservable写法
- 《CPython Internals》阅读笔记:p151-p151
python
《CPythonInternals》学习第9天,p151-p1510总结,总计1页。一、技术总结无。二、英语总结(生词:1)1.marshal(1)marshalingMarshallingormarshaling(USspelling)istheprocessoftransformingthememoryrepresentationofanobjectintoadataformsuitablef
- Electron 开发者的 Tauri 2.0 实战指南:窗口管理与系统集成
作为Electron开发者,我们已经习惯了使用BrowserWindow来管理窗口,以及通过各种内置模块来实现系统集成。在Tauri2.0中,这些功能虽然概念类似,但实现方式有所不同。本文将帮助你快速掌握Tauri的窗口管理和系统集成功能。窗口管理基础窗口操作Electron方式//main.jsconst{BrowserWindow}=require('electron')//创建窗口const
- type 属性的用途和实现方式(图标,表单,数据可视化,自定义组件)
治金的blog
前端html5vue.js
1.图标类型组件中,type可以用来指定图标的不同样式。//表示圆形//表示方形//表示三角形//表示搜索图形2.表单控件类型在表单元素中,type属性用于指定输入控件的类型。复选框单选框文件选择3.数据可视化图标类型在数据可视化库中,type属性用于指定图表的类型//使用Plotly创建柱状图Plotly.newPlot('myDiv',[{x:[1,2,3,4],y:[10,15,13,17]
- Gitlab流水线配置
由于格式和图片解析问题,为了更好阅读体验可前往阅读原文流水线的流程是,提交代码后,gitlab会检测项目根目录里的.github-ci.yml文件,根据文件中的流水线自动构建,配置文件格式正确性可以在gitlab进行文件校验,格式使用yaml文件格式,一个yaml文件就是一个流水线,里面会定义多个作业示例stages:-install-build-deployinstall_job:stage:i
- k8s之父带你阅读 replicaset 源码【2w字】
go
4.6replicasetcontroller01介绍简介replicasetcontroller是kube-controller-manager组件中众多控制器中的一个,是replicaset资源对象的控制器,其通过对replicaset、pod2种资源的监听,当这2种资源发生变化时会触发replicasetcontroller对相应的replicaset对象进行调谐操作,从而完成replica
- MYSQL数据库表的设计
qq_45849275
java
一、https://blog.csdn.net/jasonhui512/article/details/53134054页面原型需求分析表结构的设计数据库设计案例elasticSearchpostgresqlmongodbRedisneo4jfastDFSmemcachemavengitsvnluencemybatismybatisplusspringspringMVCspringbootspri
- Vue 开发者的 React 实战指南:部署与持续集成篇
作为Vue开发者,在迁移到React开发时,除了开发过程中的差异,部署和持续集成的策略也需要相应调整。本文将详细介绍React项目的部署流程和持续集成最佳实践。构建流程对比Vue的构建流程在Vue项目中,我们通常使用:VueCLI或Vite构建工具npmrunbuild生成生产环境代码输出目录通常是dist#VueCLInpmrunbuild#输出到dist目录#Vitenpmrunbuild#输
- Vue 开发者的 React 实战指南:测试篇
作为Vue开发者,在迁移到React开发时,测试策略和方法也需要相应调整。本文将从Vue开发者熟悉的角度出发,详细介绍React中的测试方法和最佳实践。测试工具对比Vue的测试工具在Vue生态中,我们通常使用:VueTestUtils:官方的组件测试工具Jest:单元测试框架Cypress:端到端测试工具//Vue组件测试示例import{mount}from'@vue/test-utils';i
- HTML专题之DOCTYPE
前端html5html
前言石匠敲击石头的第1次有一道经典的前端面试题:DOCTYPE是什么?这个问题在网上一搜有很多相关的文章,如果让我自己回答竟然让我脑子里一片空白,我的印象里加了就表示这个网页的版本是HTML5,但是这样的回答在面试时肯定是不行的,看了很多网上的文章,决定写一篇文章来梳理一下,第一次写文章,如果有哪里讲的不对或者不完整,欢迎大家指出错误。DOCTYPE是什么DOCTYPE翻译成中文的话表示“文档类型
- ComfyUI - 基于节点流程的 AI 绘图操作界面
小众AI
AI开源人工智能AI编程
为Windows和macOS设计的桌面客户端,它提供了一键安装的便利性,并拥有全新的用户界面。用户可以通过加入等待名单来获得早期访问权限。这款软件的主要优点在于它的易用性和现代化的界面设计,旨在提高用户的工作效率。ComfyUI不仅是一个用户界面(UI),还是一个具有强大功能和高度模块化设计的系统,其GitHub页面描述它为“最强大且模块化的稳定扩散GUI、API和后端,带有图形/节点界面”。Co
- 百万架构师第十三课:源码分析:Spring 源码分析:Spring核心IOC容器及依赖注入原理|JavaGuide
后端
20180415-Spring核心IOC容器及依赖注入原理ClassPathXmlApplicationContext//存储注册信息的BeanDefinition//传说已久的IOC容器privatefinalMapbeanDefinitionMap=newConcurrentHashMapTdoGetBean(finalStringname,@NullablefinalClassrequire
- 雷池社区版WAF 容器常用环境变量说明
常用环境变量说明此处列举了一些容器的常用环境变量WAF版本>=7.4.0safeline-mgt变量名称默认值说明MGT_PGpostgres://safeline-ce:${POSTGRES_PASSWORD}@safeline-pg/safeline-ce?sslmode=disablePG地址LUIGI_HOSTsafeline-luigiluigi服务的host地址CHAOS_SERVE_
- webpack多页面打包的一次尝试
初始化cd项目名webpackinit创建第二页面与其头文件touchpage2.htmltouchsrc/page2.js修改page2.jsconsole.log("success")修改webpack.config.js添加page2.html至plugins项,添加src/page2.js至entry项最终模板:constpath=require('path');constHtmlWebp
- 百万架构师第八课:设计模式:设计模式容易混淆的几个对比|JavaGuide
后端
设计模式容易混淆的几个对比.md1、代理模式跟委派模式混淆委派就是说全权代理代理只参与某一个环节,委派参与整个环节委派可以说是一个静态代理Porxy传一个接口,传实现类不行吗?Java核心思想:面向接口编程OOP:用代码来解释生活接口:只是一种规范,做任何事前以前先思考好以后,再去动手(制定好规范),三思而后行实现类:必须先有接口,开发顺序天生决定了中介:租房子代理人(专业化),要租房子的人,也
- ASP.NET Core--环境搭建和命令行CLI入门
sufengmarket
NETCOREasp.netcore安装cli命令行
文章目录.NETCore安装命令行dotnetrestoredotnetbuilddotnetrundotnetpackdotnetpublishdotnettest.NETCore.NETCore是开放源代码的通用开发平台(是一个“平台”),基于这个开放平台我们可以开发像ASP.NETCore应用程序,Windows10通用Windows平台(UWP),Tizen等等,而我们系列教程就是用.NE
- 百万架构师第六课:设计模式:策略模式及模板模式
后端
策略模式举例:比较器旅行路线固定算法策略(封装)买东西结算支付场景:根据用户的需求处理数据时候需要对算法做出选择,固定的一些算法(不再发生变化的算法),扩展。(算法会变的时候,不建议用策略模式)客户本身就知道要采用什么样的算法去计算。(有选择的权利)==assets/支付的策略模式.png==策略模式代码:Order.classpublicclassOrder{privateStringuId;p
- 解决uniapp安卓打包targetSdkVersion报错
解决GooglePlay版本检查问题的实用方案。Error:GooglePlayrequiresthatappstargetAPIlevel33orhigher.[ExpiredTargetSdkVersion]问题描述打包时遇到以下错误:Error:GooglePlayrequiresthatappstargetAPIlevel33orhigher.[ExpiredTargetSdkVersio
- nodejs创建ws服务器,前端浏览器用websocket接收信息和发送信息给服务端
cdcdhj
nodejs服务器前端websocket
首页是用nodejs建立服务器端//wsserver.jsconstWebSocket=require('ws');constwss=newWebSocket.Server({port:8080});wss.on('connection',functionconnection(ws){ws.on('error',console.error);//接收客户端发送过来的信息ws.on('message
- HarmonyOS Next V2 状态管理 AppStorageV2 和 PersistenceV2
harmonyos
HarmonyOSNextV2状态管理AppStorageV2和PersistenceV2前言在HarmonyOS应用开发过程中,我们已经学习过了不少关于状态管理相关的技术,如@ObservedV2装饰器和@Trace装饰器:类属性变化观测@ComponentV2装饰器:自定义组件@Local装饰器:组件内部状态@Param:组件外部输入@Once:初始化同步一次@Event装饰器:组件输出@Mo
- HarmonyOS Next V2 @Monitor 和@Computed
harmonyos
HarmonyOSNextV2@Monitor和@Computed@Monitor介绍@Monitor是状态把管理V2版本中的用于监听状态变量修改的技术。它可以直接用在@ComponentV2装饰的自定义组件中,用于被@Local、@Param、@Provider、@Comsumer、@Computed修饰的状态变量中对于深层次的数据,如深层次对象、对象数组等,需要搭配@ObservedV2、@T
- HarmonyOS Next V2 @Event
harmonyos
HarmonyOSNextV2@Event背景在上一节中,我们针对父子组件,讲了关于传递数据的知识。我们了解到@Local是管理自己内部的数据的,@Param是负责接收父组件的数据的,而且子自己内部不能直接修改按照一个组件最基本的功能,既能接收外部传入的数据,也要向外部传递数据。那么@Event修饰符就是来解决这个问题的了。介绍@Event是子组件向父组件传递数据的技术,它只能用在@Compone
- Gateway的配置与使用
SpringCloudGateway配置与使用SpringCloudGateway是一个轻量级的API网关解决方案,它是SpringCloud微服务架构中的关键组件,主要用于请求的路由、过滤和转发。通过SpringCloudGateway,开发者能够以高效且灵活的方式管理微服务的API接入和流量控制。本文将详细介绍如何配置和使用SpringCloudGateway,并通过实际代码示例来展示配置过程
- 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发布消息