博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 注解式Aop 入门
阅读量:5079 次
发布时间:2019-06-12

本文共 1817 字,大约阅读时间需要 6 分钟。

首先在spring配置文件中加上

xmlns:aop="http://www.springframework.org/schema/aop" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd

 然后在配置文件中开启aop

 定义bean

package com.test;import org.springframework.stereotype.Component;@Component("SpringTest")public class SpringTest{	public void PrintHello(String name){		System.out.println("Hello," + name);	}		public void save(String name){		System.out.println("我是save()方法...");	}		public void update(String name){		System.out.println("我是update()方法...");	}		public void search(String search){		System.out.println("我是search()方法...");	}}

 然后定义切面

package com.test;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.Aspect;import org.aspectj.lang.annotation.Before;import org.aspectj.lang.annotation.Pointcut;import org.springframework.stereotype.Component;/** * 定义切面 * @author John * */@Aspect@Component("Aspject")public class Aspject {	//定义切点	@Pointcut("execution(* com.test.SpringTest.update(..))")	private void anyMethod(){}		//定义前置通知	@Before("anyMethod() && args(name)")	public void BeforeTongZhi(String name){		System.out.println("我是前置通知.....");	}		@After("anyMethod()")      public void after(){  	       System.out.println("最终通知");      }  }

 测试类

package com.test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {	public static void main(String[] args) {		ApplicationContext cxt =  new ClassPathXmlApplicationContext("applicationContext.xml");		SpringTest test = (SpringTest) cxt.getBean("SpringTest");		test.update("zhangsan");	}}

 运行结果

我是前置通知.....我是update()方法...最终通知

 期间遇到一个错误

error at ::0 can't find referenced pointcut anyMethod

 是aspectjrt jar包的版本太低了。

转载于:https://www.cnblogs.com/dbqjava/p/6074849.html

你可能感兴趣的文章
UVA 11082 Matrix Decompressing 矩阵解压(最大流,经典)
查看>>
硬件笔记之Thinkpad T470P更换2K屏幕
查看>>
蓝桥杯-分小组-java
查看>>
Android Toast
查看>>
JAVA面试常见问题之Redis篇
查看>>
jdk1.8 api 下载
查看>>
getElement的几中属性介绍
查看>>
HTML列表,表格与媒体元素
查看>>
Introduction to my galaxy engine 2: Depth of field
查看>>
设计器 和后台代码的转换 快捷键
查看>>
STL容器之vector
查看>>
数据中心虚拟化技术
查看>>
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
基于grunt构建的前端集成开发环境
查看>>