关于aop的两种方式-基于注解和基于aspectj
来源:互联网 发布:什么叫软件饱和 编辑:程序博客网 时间:2024/06/06 09:44
spring的aop确实好用,能够在不影响业务功能的情况下,实现一些低耦合的功能。
而aop又有两种常用的实现方式,一种是用aspectj表达式去匹配,实现全局的配置,表达式还可以使用与或非符号去连接,从而达到一个aop应用于多个切面多个切点。
但是这样的用法不够灵活,不够插件化,最好的方式就是开箱即用,随用随加。基于这样的需求,aop基于注解的实现方式,才是最灵活的。
基本步骤构建自定义注解构建注解aop的编织类(aspectj)在配置文件中声明编织类(应用于controller的注解一定要在springmvc的配置文件声明,其他类型的编织类可在spring的配置文件里声明)在对应的controller上应用注解,让aop抓取到该切点tips:1自定义注解的范围是可选的,一般用于方法级别2在环绕通知上,返回json类型,可加上@ResponseBody,返回json,符合RestFul
具体的代码暂时没必要贴,官方文档写的很清晰。
英文一般的可以看翻译文档
https://www.gitbook.com/book/linesh/spring-mvc-documentation-linesh-translation/details
tips:
1此处配置的时候,如果是使用了spring+springMVC的模式下,需要注意spring和springMVC父子容器的问题,如果我们的@Token是标注于Controller(被@Controller或者@RestController注解标记)层的话,由于controller层是由springMVC容器来管理的,若此时我们的TokenAspect是由Spring来管理的话,由于在方法调用的时候,spring无法获取子容器的管理对象,aop就不起作用,自然@Token注解也就失效了。 所以这儿我们的aop也需要配置再springMVC的配置文件中,由SpringMVC来管理。
阅读全文
0 0
- 关于aop的两种方式-基于注解和基于aspectj
- 基于aspectj的注解aop
- Spring-AOP:基于AspectJ注解的AOP
- Spring Aop开发基于AspectJ注解方式的案例
- 基于AspectJ的注解方式进行AOP开发
- Spring基于注解@AspectJ的AOP
- Spring基于注解@AspectJ的AOP
- 使用AspectJ基于注解的Aop
- day3_Spring_02_基于aspectj的注解aop操作
- Spring面向切面编程--AOP,AspectJ,基于注解方式。
- 基于@AspectJ的AOP
- 基于@AspectJ的AOP
- 6.基于@AspectJ和Schema的AOP
- 基于@AspectJ注解的纯POJO Spring 2.x Aop
- Spring AOP的使用 基于全注解AspectJ
- spring之基于aspectj注解aop使用
- 基于aspectj的aop操作
- AOP的annotation实现方式是基于AspectJ的实现
- Android ArcGis 地图图层切换
- Mac系统中python导入第三方模块成功,但是import python第三方模块失败解决方法
- 解决 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level问题
- Android Activity1进入Activity2,Activity2开启Activity3,需要Activity3直接返回数据给Activity1
- Ganglia api接口安装(python版)
- 关于aop的两种方式-基于注解和基于aspectj
- jsp
- ISE的IP核clocking wizard使用和例化
- 《深入理解mybatis原理》 MyBatis缓存机制的设计与实现
- 数组 m选n 组合
- MNIST——softmax回归
- iOS工程自动化(git 操作)
- 让VS2015添加新类、接口时自动添加public关键字
- xml简单介绍以及libmxml编程