Spring AOP小例子
来源:互联网 发布:软件发信息 编辑:程序博客网 时间:2024/06/11 19:35
Spring AOP可以实现在原有的业务代码中加入一些输出,不改变原来的代码,比如日志
/** * 业务类 */public class AspectBiz { public void biz(){ System.out.println("AspectBiz biz."); throw new RuntimeException(); }}
/** * 日志类 */public class MoocAspect { public void before(){ System.out.println("MoocAspect before."); } public void afterReturning(){ System.out.println("MoocAspect afterReturing."); } public void afterThroing(){ System.out.println("MoocAspect afterThrowing."); } public void after(){ System.out.println("MoocAspect after."); }}
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- 我们要插入的日志等--> <bean id="moocAspect" class="com.mr.three.MoocAspect"></bean> <!--业务bean--> <bean id="aspectBiz" class="com.mr.three.AspectBiz"/> <aop:config> <!-- 用到哪个处理类--> <aop:aspect id="moocAspectAOP" ref="moocAspect"> <!-- 切点,要插入到什么地方,expression可以为包,类和方法--> <aop:pointcut expression="execution(* com.mr.three.*Biz.*(..))" id="moocPointcut"/> <!-- 切点之前--> <aop:before method="before" pointcut-ref="moocPointcut"/> <aop:after-returning method="afterReturning" pointcut-ref="moocPointcut"/> <aop:after-throwing method="afterThroing" pointcut-ref="moocPointcut"/> <aop:after method="after" pointcut-ref="moocPointcut"/> </aop:aspect> </aop:config></beans>测试:
public class AdviceTest { @Test public void beforeTest(){ ApplicationContext context=new ClassPathXmlApplicationContext("spring-injection.xml"); AspectBiz biz=(AspectBiz)context.getBean("aspectBiz"); biz.biz(); }}结果:
MoocAspect before.
AspectBiz biz.
MoocAspect afterThrowing.
MoocAspect after.
阅读全文
0 0
- spring aop小例子
- Spring AOP小例子
- Spring AOP增强小例子
- Spring AOP增强小例子
- Spring-aop 日志管理小例子
- Spring中的简单实现AOP小例子
- Spring AOP环绕通知小例子
- 基于注解的spring aop小例子
- spring学习笔记9--AOP表达式小例子
- 关于Spring中AOP的一个小例子程序
- spring AOP + 自定义注解实现权限控制小例子
- spring AOP + 自定义注解实现权限控制小例子
- Spring AOP例子
- Spring Aop 简单例子
- spring的aop例子
- spring aop入门例子
- spring AOP 例子
- spring aop 简单例子
- B树、B-树、B+树、B*树
- 2017.05.20【usaco2017_Mar Bronze & Silver】C组题解
- @RequestBody应用,requestbody
- C# 委托和事件
- Hibernate核心API详解
- Spring AOP小例子
- Linux常用命令介绍(帮助命令及重要的热键)
- 计算机网络笔记:OSI七层模型与TCP/IP四层模型
- android砖头之:快递即时查询
- 浅谈水浒(二)
- 生物芯片
- ACM-搜索-06
- HOG特征提取原理
- 5.20 一些快捷操作