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

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

关于Aop的原理,动态代理,反射,之类的底层java技术网上搜一堆一堆的。。我就不多说了,主要说在spring上使用aop的方法。

首先不得不说一下的就是,spring aop的支持需要外部依赖包:

aopalliance.jar

aspectjrt.jar

aspectjweaver.jar

cglib-nodep-2.2.2.jar

commons-logging-1.1.1.jar

还有经典的日志jar

log4j-1.2.16.jar.

这些都是spring aop 需要的外部包

好了,入正题了:

首先在spring配置文件中添加

来启用@AspectJ支持

然后随便新建一个类,就用来查询学生信息吧:

public class StudentDAO implements DAO{public void query(){//db操作,这里就打印意思下..System.out.println("query student");}}

这个类就是一个平常的查询学生信息的类,加入我们想要执行一些权限限制,譬如管理员才可以查看学生的信息,或者日志记录等操作,加入按照平常的做法,

可能会在业务方法(上面的query()方法)中添加一些其他逻辑代码,会使代码非常混乱,因为权限限制,日志记录等操作不属于业务范畴之内。

因此可以新建一个处理这些操作的类:

@Aspectpublic class AopCatch{@Before("execution(* test.aop.StudentDAO.query(..))")public void beforeMethod(){//这里可以进行一些在query方法执行之前的操作}@After("execution(* test.aop.StudentDAO.query(..))")public void afterMethod(){//这里可以进行一些在query方法执行之后的操作}}

 这样就可以在业务方法执行的时候进行一些非业务范畴之外的逻辑处理,并且不影响业务代码。

以上纯属个人鄙见,有什么错误请轻拍- -#。

 

转载于:https://www.cnblogs.com/dick159/p/4303050.html

你可能感兴趣的文章
为什么需要Docker?
查看>>
国内5家云服务厂商 HTTPS 安全性测试横向对比
查看>>
how to control project
查看>>
转 python新手容易犯的6个错误
查看>>
第四节 -- 列表
查看>>
Python入门学习笔记4:他人的博客及他人的学习思路
查看>>
webstorm里直接调用命令行
查看>>
关联规则算法之FP growth算法
查看>>
对数组序列进行洗牌
查看>>
决策树
查看>>
团队作业
查看>>
如何避免在简单业务逻辑上面的细节上面出错
查看>>
win7,Ubuntu 12.04 双系统修改启动项顺序三方法
查看>>
python--列表推导式和生成表达式
查看>>
P - Psychos in a Line 单调队列
查看>>
POJ 2653 Pick-up sticks(计算几何)
查看>>
大型网站高并发的架构演变图-摘自网络
查看>>
8丶运行及总结
查看>>
Unity获取手机的电量时间
查看>>
Spring框架:Spring容器具体解释
查看>>