Spring AOP 本质(1)
* 被代理类
*/
public class MessageWriter{
/**
* 业务方法
*/
public void writeMessage() {
System.out.print("World");
}
}
import org.aopalliance.intercept.MethodInvocation;
/**
* 实现包围通知,实际就是方法拦截器,MethodInterceptor是AOP联盟定义的接口.
*/
public class MessageDecorator implements MethodInterceptor {
public Object invoke(MethodInvocation invocation) throws Throwable {
System.out.print("Hello ");
Object retVal = invocation.proceed();
System.out.println("!");
return retVal;
}
}
/**
* AOP测试
*/
public class HelloWorldAOPExample {
public static void main(String[] args) {
//目标对象(被代理的对象)
MessageWriter target = new MessageWriter();
//产生一个代理工厂
ProxyFactory pf = new ProxyFactory();
//添加代理工厂的拦截器
pf.addAdvice(new MessageDecorator());
//设置被代理对象
pf.setTarget(target);
//获取一个代理实例
MessageWriter proxy = (MessageWriter) pf.getProxy();
//从目标对象直接输出信息
target.writeMessage();
System.out.println("\n------------");
//从代理对象输出信息
proxy.writeMessage();
}
}
World
------------
Hello World!
Process finished with exit code 0
Spring AOP 本质(1)相关推荐
- Spring AOP本质(7)
Spring AOP本质(7) 上一个里面,给出静态方法切点匹配的例子,现在给出一个动态的实现例子: 没有 /** * 业务组件 */ public class SampleBean { pu ...
- Spring AOP 本质(3)
Spring AOP 本质(3) Spring AOP很牛,AOP是OOP的补充,而非竞争者. 前面的例子离实际的应用太遥远.不足以显式AOP的力量,现在就用AOP前置通知来检查用户的身份,只有通过检 ...
- Spring AOP 本质
AOP本质是拦截,拦截的本质是代理,代理分动态和静态,静态代理很简单,功能有限,应用不是很广泛,Spring中主要用的动态代理. 用Spring做开发,AOP的实现仅仅是编程实现一些接口,然后配置 ...
- 《Spring揭秘》读书笔记 2:Spring AOP
7 一起来看AOP 2009年8月,<一起来看流星雨>开播. 2009年9月,<Spring揭秘>出版. 7.1 AOP核心概念 AOP AOP全称为Aspect-Orient ...
- Spring Aop 常见注解和执行顺序
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:juejin.cn/post/7062506923194581029 Spring 一开始最强大的就是 IOC / AOP 两 ...
- 彻底理解Spring AOP
目录 前言 1. AOP概念 2. AOP的实现 3. Spring的IoC理解: 4. Sping知识整理 前言 AOP英文名为Aspect Oriented Programming,意为面向切面编 ...
- (转)Spring AOP的底层实现技术
AOP概述 软件的编程语言最终的目的就是用更自然更灵活的方式模拟世界,从原始机器语言到过程语言再到面向对象的语言,我们看到编程语言在一步步用更自然.更强大的方式描述软件.AOP是软件开发思想的一个飞跃 ...
- Spring AOP中定义切点(PointCut)和通知(Advice)
本文讨论一下Spring AOP编程中的两个关键问题,定义切点和定义通知,理解这两个问题能应付大部分AOP场景. 如果你还不熟悉AOP,请先看AOP基本原理,本文的例子也沿用了AOP基本原理中的例子. ...
- 9000+ 字,彻底征服 Spring AOP ,美滋滋
基本知识 其实, 接触了这么久的 AOP, 我感觉, AOP 给人难以理解的一个关键点是它的概念比较多, 而且坑爹的是, 这些概念经过了中文翻译后, 变得面目全非, 相同的一个术语, 在不同的翻译下, ...
- Spring AOP概述及底层实现原理
Spring AOP概述及底层实现原理 aop概述 AOP全称为Aspect Oriented Programming的缩写,意为:面向切面编程.将程序中公用代码进行抽离,通过动态代理实现程序功能的统 ...
最新文章
- c++运算符和结合性
- BZOJ 4557 JLOI2016 侦查守卫 树形dp
- typora 公式对齐_都0202年了还不会用 Typora——看Typora使用教程这篇就够了
- 制作自己的linux内核,打造属于你自己的Linux系统
- nmealib linux编译,nmealib的使用可以缩短GPS的开发周期
- MySQL之索引优化
- ansys怎么使用anand模型_【干货】经典ANSYS 与 Workbench如何实现联合仿真,相互切换操作。...
- finallshell使用_FinalShell使用---Xshell的良心国产软件
- Logstash读取Kafka数据写入HDFS详解
- 【thinkphp 5 在nginx 环境下路由无法生效(404 500错误 )的解决方法】
- 计算机提示pdf不能加载,打开电脑中的PDF文档无法显示内容提示Please wait怎么解决...
- 启用计算机的快捷键,电脑开机启动项选择快捷键大全
- 测试用例(等价类法、边界值法、因果图法、判定表法、场景法、正交试验法、功能图法)
- SaltStack配置管理
- java 自幂数_JAVA 编程01:用JAVA语言实现所有自幂数的输出
- Nginx的模块与工作原理
- 某二级支行网络的设计与实现
- 关于膝关节支具的使用方法
- 中国飞行娱乐(IFE)市场现状研究分析与发展前景预测报告(2022)
- 计算机什么行不变裂变的知识,科普知识竞赛参考题目