Spring
提供的org.springframework.aop.support.RegexpMethodPointcutAdvisor可以讓您使用Perl
風格的Regular expression來定義Pointcuts,它是Spring中靜態Pointcut的實例,在符合Regular
expression的情況下應用Advices,您可以使用以下的幾個符號:
符號
|
描述
|
.
|
符合任何單一字元
|
+
|
符合前一個字元一次或多次
|
*
|
符合前一個字元零次或多次
|
\
|
Escape
任何
Regular expression
使用到的符號
|
RegexpMethodPointcutAdvisor的"pattern"屬性讓您指定所要符合的完整類別名稱(包括package名稱)加方法名稱,例如若要求符合onlyfun.caterpillar.IHello下的hello開始的方法名稱,則要如下撰寫:
onlyfun\.caterpillar\.IHello\.hello.*
由於 . 符號已經被Regular expression使用,所以如果表示式中要指定 . 符號,則要跳脫(Escape),也就是使用 \. 的方式,如果只打算針對方法名稱比對,而不管package名稱,則可以這麼撰寫:
.*hello.*
可以使用
NameMatchMethodPointcutAdvisor
中所使用的類別與Advice,只要改一下Bean定義檔就可以了,例如:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="logBeforeAdvice"
class="onlyfun.caterpillar.LogBeforeAdvice"/>
<bean id="regExpAdvisor"
class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="pattern">
<value>.*hello.*</value>
</property>
<property name="advice">
<ref bean="logBeforeAdvice"/>
</property>
</bean>
<bean id="helloSpeaker"
class="onlyfun.caterpillar.HelloSpeaker"/>
<bean id="helloProxy"
class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>onlyfun.caterpillar.IHello</value>
</property>
<property name="target">
<ref bean="helloSpeaker"/>
</property>
<property name="interceptorNames">
<list>
<value>regExpAdvisor</value>
</list>
</property>
</bean>
</beans>
在上面的定義中,設定符合方法名稱開頭為hello的方法要應用Advice,具無論其前面的package、類別名稱,所以執行結果與
NameMatchMethodPointcutAdvisor
的執行結果是一樣的。
分享到:
相关推荐
2.Algorithm Gossip: 费式数列. 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官(一) 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八...
巴斯卡三角形 6 4.Algorithm Gossip: 三色棋 7 5.Algorithm Gossip: 老鼠走迷官(一) 9 6.Algorithm Gossip: 老鼠走迷官(二) 11 7.Algorithm Gossip: 骑士走棋盘 13 8.Algorithm Gossip: 八皇后 ...
2.Algorithm Gossip: 费式数列 5 3. 巴斯卡三角形 6 4.Algorithm Gossip: 三色棋 7 5.Algorithm Gossip: 老鼠走迷官(一) 9 6.Algorithm Gossip: 老鼠走迷官(二) 11 7.Algorithm Gossip: 骑士走棋盘 ...
NameMatchMethodPointcutAdvisor RegExpMethodPointcutAdvisor ControlFlowPointcut Pointcut 介面 Pointcut 交集、联集操作 Introduction 为特殊的 Advice,它影响的不是方法的流程,...
此为很有人气的Gossip的学习笔记,里面深入浅出的讲解了关于spring框架的知识与学习心得,是理解spring的不可多得的好资料。 此资料为html形式,每个知识点单独列为一张html页面,阅读很方便,不需要pdf格式下的阅读...
R-gossip算法通过在分布式系统的集群代理节点上设置移位寄存器,优化了传统gossip算法的收敛速度和负载均衡效率。这一改进为分布式系统提供了一种有效的负载均衡优化方案,对分布式系统设计和性能优化具有重要的指导...
2.Algorithm Gossip: 费式数列 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八皇 9....
草稿用法: from("gossip://<bound>:<port>/?peers=<listOfPeers>&routeIds=<listOfRouteIdsToControl>").to("controlbus:route");listOfRouteIdsToControl在此节点被提升/降级时启动/停止。 当您在需要故障转移...
Gossip协议的Go实现。 概述 该软件包提供了最终一致的内存中数据存储的实现。 数据存储值使用推挽式八卦协议进行交换。 // Create a gossiper g := NewGossiper("<ip>:<port>", "<unique>", "<peer>") // Add ...
针对在分布式一致性系统中常用的gossip算法负载均衡效率较低的问题,本文在概率gossip算法(probabilistic gossip algorithm)的基础上,设计了一种寄存器gossip算法(register gossip algorithm,下文简称R-gossip...
gossip - yet another lisp interpreter gossip是一个lisp解释器, 语法借鉴了scheme以及common lisp, 此项目的主要目的是学习。 安装 下载源码 打包: mvn package 运行方式: java -jar your_gossip_home/gossip-1.0-...
4. **Spring Gossip_Simp**: 这个文件名可能是某种简化版的Spring教程,可能包含易于理解的Spring基础知识和常见概念,例如: - **XML配置**:介绍如何通过XML文件配置Spring Bean。 - **注解驱动开发**:使用...
nodejs_八卦 nodejs八卦协议实现 nodejs 八卦.js 连接到 localhost:8080 在 chrome 中查看网络状态 控制台命令: 重启重置对等体颜色 css_color 建立网络的节点 断网示例 重建网络
分布式八卦算法,通常被称为Gossip协议,是一种在分布式系统中高效传播和同步信息的方法。它在许多场景下被广泛使用,比如在大规模的数据库复制、负载均衡、故障检测以及网络中的消息传递等。这种算法的设计灵感来源...
因此,我将软件命名为Gossip来构建一个工具,该工具使用户可以更有效,更方便地制作和传达故事。 使您的下一个演示文稿不是演示文稿。 入门 有一个可以帮助您使用Gossip创建和交付演示文稿所需的所有技术。 还有...
例如,./ ./gossip -p --verbose 实例化二进制后续时间以使用get参数接收资源。 例如,./ ./gossip get cats.jpg 运行测试 运行单元测试不需要任何设置。 go test ./... 包装说明 ID ID 包提供了生成唯一的随机 ...
标题中的“gossip”通常指的是一个分布式通信协议或库,用于节点间的高效、可靠的消息传递。在这种场景下,它可能是用JavaScript实现的一个轻量级、去中心化的通信框架,允许程序通过网络套接字(network sockets)...
集群中的节点之间通过Gossip协议进行通信,用于发现和管理节点状态。 在部署Redis集群前,你需要准备至少三个物理或虚拟机,因为Redis集群至少需要三个主节点来保证数据的可用性。每个节点都需要安装并启动Redis...
标题“良葛格Gossip_struts_spring_hibernate”表明这是一个关于编程框架和技术教程的集合,其中涵盖了Spring、Struts和Hibernate等关键组件。描述提到是Spring技术手册的作者提供的教程,暗示内容可能深入且权威。 ...