博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring、Hello AOP
阅读量:5748 次
发布时间:2019-06-18

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

AOP 概念:

AOP 所使用到的jar 包:

aspectjrt.jar 

common-annotations.jar

aspectjweaver.jar

cglib-nodep.jar

commons-logging.jar

spring.jar

1.在beans.xml中配置AOP的命名空间和Context的命名空间,同时打开AOP注解开关:

2.新建PersonIService和PersonServiceBean :

public interface PersonIService {	public void save();	public void update();	public String getObject(String name);}
public class PersonServiceImpl implements PersonIService {	@Override	public void save() {		System.out.println("这是一个Save方法!");	}	@Override	public void update() {		System.out.println("这是一个Update方法!");	}	@Override	public String getObject(String name) {		System.out.println("get方法获取对象= "+name+" 的对象");		return "返回了"+name;	}}
3.新建AOP拦截类:

// @Aspect 标注这个类是一个切面@Aspectpublic class MyInterceptor {	@Pointcut("execution (* cn.raffaello.service..*.*(..))")	private void anyMethod(){} // 声名一个切入点,声名方式比较奇特		@Before("anyMethod()") // 定义前置通知	public void doAccessCheck(){		System.out.println("前置通知");	}}
4.在beans.xml中分别注入PersonService和MyInterceptor:

5.测试代码:

public class springTest {	private PersonIService personIService=null;	@Before	public void init(){		ApplicationContext context=new ClassPathXmlApplicationContext("beans.xml");		personIService=(PersonIService)context.getBean("personIService");	}	@Test	public void test() {		personIService.save();	}}
你可能感兴趣的文章
Spring Transactional
查看>>
shell脚本实例
查看>>
我的友情链接
查看>>
Windows Phone 7 隔离存储空间资源管理器
查看>>
Microsoft Excel 2000/2003修复工具
查看>>
apache安装报错undefined reference ssl
查看>>
关于爱情只有一句忠告
查看>>
CentOS 7下安装部署Oracle11g图文教程
查看>>
F#初学笔记06
查看>>
实战:将企业域名解析委派给企业DNS服务器
查看>>
在Lync 2013环境部署Office Web Apps
查看>>
微软大会Ignite,你准备好了么?
查看>>
读书笔记-高标管事 低调管人
查看>>
Master带给世界的思考:是“失控”还是进化
查看>>
用户和开发者不满苹果iCloud问题多多
查看>>
java.lang.UnsatisfiedLinkError:no dll in java.library.path终极解决之道
查看>>
我的工具:文本转音频文件
查看>>
【许晓笛】从零开始运行EOS系统
查看>>
【跃迁之路】【460天】程序员高效学习方法论探索系列(实验阶段217-2018.05.11)...
查看>>
C++入门读物推荐
查看>>