Spring系列之 (十六):利用Spring AOP和自定义注解实现日志功能
2018-03-22 16:51
786 查看
Spring AOP的主要功能相信大家都知道,日志记录、权限校验等等。用法就是定义一个切入点(Pointcut),定义一个通知(advice),然后设置通知在该切入点上执行的方式(前置、后置、环绕等),切点可以是注解基于AsjectJ框架(注解方式)和自定义注解的支持步骤:1.在spring.xml中配置相关参数2.创建自定义注解3.定义一个切面类4.在controller类方法中,使用
1.在spring.xml中配置相关参数1.自动扫描包和启用@AsjectJ注解的支持
2.创建自定义注解
@Target、@Retention、@Inherited、@Documented为元注解(meta-annotation),它们是负责注解其他注解的。Target:指明注解支持的使用范围,取值可以参考枚举ElementType,以下:ElementType.TYPE //类、接口、枚举
ElementType.FIELD //属性
ElementType.METHOD //方法
ElementType.PARAMETER //参数
ElementType.CONSTRUCTOR //构造器
ElementType.LOCAL_VARIABLE //局部变量
ElementType.ANNOTATION_TYPE //注解
ElementType.PACKAGE //包
Retention:指明注解保留的的时间长短,取值参考枚举RetentionPolicy,一下:SOURCE //源文件中保留
CLASS //class编译时保留
RUNTIME //运行时保留
Inherited:指明该注解类型被自动继承。如果一个annotation注解被@Inherited修饰,那么该注解作用于的类 的子类也会使用该annotation注解。
Documented:指明拥有这个注解的元素可以被javadoc此类的工具文档化。
3.定义一个切面类
因篇幅问题,省去其他方法,如1.@AfterReturning(pointcut = "controllerAspect()")
public void doAfter(JoinPoint joinPoint)
2.@AfterReturning("controllerAspect()")
public void afterReturn(JoinPoint joinPoint)
在切面类中,也可以编写添加日志表的操作代码(自由发挥)
4.在controller类中测试
1.在spring.xml中配置相关参数1.自动扫描包和启用@AsjectJ注解的支持
2.创建自定义注解
@Target、@Retention、@Inherited、@Documented为元注解(meta-annotation),它们是负责注解其他注解的。Target:指明注解支持的使用范围,取值可以参考枚举ElementType,以下:ElementType.TYPE //类、接口、枚举
ElementType.FIELD //属性
ElementType.METHOD //方法
ElementType.PARAMETER //参数
ElementType.CONSTRUCTOR //构造器
ElementType.LOCAL_VARIABLE //局部变量
ElementType.ANNOTATION_TYPE //注解
ElementType.PACKAGE //包
Retention:指明注解保留的的时间长短,取值参考枚举RetentionPolicy,一下:SOURCE //源文件中保留
CLASS //class编译时保留
RUNTIME //运行时保留
Inherited:指明该注解类型被自动继承。如果一个annotation注解被@Inherited修饰,那么该注解作用于的类 的子类也会使用该annotation注解。
Documented:指明拥有这个注解的元素可以被javadoc此类的工具文档化。
3.定义一个切面类
因篇幅问题,省去其他方法,如1.@AfterReturning(pointcut = "controllerAspect()")
public void doAfter(JoinPoint joinPoint)
2.@AfterReturning("controllerAspect()")
public void afterReturn(JoinPoint joinPoint)
在切面类中,也可以编写添加日志表的操作代码(自由发挥)
4.在controller类中测试
相关文章推荐
- 利用Spring AOP和自定义注解实现日志功能
- Spring+SpringMVC+Mybatis 利用AOP自定义注解实现可配置日志快照记录
- Spring+SpringMVC+Mybatis 利用AOP自定义注解实现可配置日志快照记录
- Spring+SpringMVC+Mybatis 利用AOP自定义注解实现可配置日志快照记录
- 利用Spring AOP自定义注解解决日志和签名校验
- spring AOP自定义注解方式实现日志管理
- 利用Spring AOP自定义注解解决日志和签名校验
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- java SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- 转: 利用Spring AOP自定义注解解决日志和签名校验
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- Spring 自定义注解实现操作日志记录功能
- 利用spring AOP 和注解实现方法中查cache-我们到底能走多远系列(46)
- Spring Aop自定义注解实现日志管理
- java SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- java SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- 利用spring AOP注解实现日志管理
- Spring Aop自定义注解拦截Controller实现日志管理
- 利用Spring AOP与JAVA注解为系统增加日志功能