spring学习笔记(五)
2024-10-21 03:55:43
1、后置通知
需求:调用相应业务方法后,完成资源的关闭。
a、 在beans.xml中配置
.... <beans> <!--配置被代理对象-->
<bean id="test1Service" class="com.huawei.aop.Test1Service">
<property name="name" value="spring"/>
</bean> <!--配置后置通知-->
<bean id="myAfterServiceAdvice" class="com.huawei.aop.MyAfterServiceAdvice"/> <!--配置代理对象-->
<bean id="proxyFactoryBean" class="org.springframework.aop.framework.ProxyFactoryBean"> <!--配置代理接口集-->
<property name="proxyInterfaces">
<list>
<value>com.huawei.aop.Test1ServiceInter</value>
<value>com.huawei.aop.Test2ServiceInter</value>
</list>
</property > <!--将通知织入代理-->
<property name="interceptorNames">
<list>
<value>myAfterServiceAdvice</value>
</list>
</property> <!--配置被代理对象-->
<property rel="target" name="test1Service"/>
</bean>
</beans>
b、实现 AfterReturningAdvice 接口
package com.huawei.aop; import java.lang.reflect.Method; import org.springframework.aop.AfterReturningAdvice; public class MyAfterServiceAdvice implements AfterReturningAdvice
{ @Override
public void afterReturning(Object arg0, Method arg1, Object[] arg2,
Object arg3) throws Throwable
{ System.out.println("关闭资源");
} }
3.测试类
package com.huawei.aop; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class AopTest { /**
* aop 编程测试类
*/
public static void main(String[] args)
{
//获取应用上下文对象
ApplicationContext ac = new ClassPathXmlApplicationContext("com/huawei/aop/beans.xml"); //获取实例对象
Test1ServiceInter ti = (Test1ServiceInter) ac.getBean("proxyFactoryBean"); //调用实例方法
ti.sayHello(); ((Test2ServiceInter) ti).sayBye();
} }
最新文章
- JS操作未跨域iframe里的DOM
- 文本切割软件Replace Pioneer
- storm基础系列之五---------接入数据收集系统flume
- [ZigBee] 8、ZigBee之UART剖析&#183;二(串口收发)
- jenkins2 pipeline高级
- dp --- CSU 1547: Rectangle
- minhash
- Mac下Intellij IDea发布Java Web项目详解五 开始测试
- Java多线程之非线程安全
- The 2014 ACM-ICPC Asia Regional Anshan Online
- flask开发框架
- 接线端子VH,CH,XH
- 未能执行URL
- LeetCode 1013 Partition Array Into Three Parts With Equal Sum 解题报告
- centos python2升级为python3 升级旧版本django
- 使用 com.alibaba.fastjson把json型数据解析成一个javabean
- 第9章 应用层(3)_telnet协议和远程桌面协议RDP
- Maven构建自动化
- CSS基础-DAY1
- BZOJ 1059: [ZJOI2007]矩阵游戏 匈牙利算法
热门文章
- npm命令要记
- lca最短公共祖先模板(hdu2586)
- linux基本优化
- [BZOJ 2425] 计数
- 【线段树】Gym - 100507C - Zhenya moves from parents
- 【AC自动机+DP】USACO2012 JAN GOLD_Video Game Combos
- 【R笔记】R的内存管理和垃圾清理
- MyBasic架构
- iOS开发技巧&mdash;&mdash;关闭Autoresizing开启Autolayout
- 利用hsdis和JITWatch查看分析HotSpot JIT compiler生成的汇编代码