SpringMVC配置AOP
来源:互联网 发布:台湾网络信号 编辑:程序博客网 时间:2024/06/14 16:39
SpringMVC配置AOP
java的SpringMVC中经常会用到对controller层、service层、dao层的,
拦截监听,springMVC中的切换编程AOP就解决了该问题。
AOP类似于监听事件,监听软件程序的动作。
AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。
AOP可以实现对系统的不同的功能组件,进行统一处理,例如controller层、service层、dao层,
可以监听 controller层、service层、dao层的类和方法的执行之前、执行之后,抛出异常的事件。
实现步骤:
1.通过maven引入springmvc的AOP,
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency>
<!-- aop aspect注解导包--> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.8.6</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.9</version> </dependency>
2.springmvc文件中配置aop,(一定在主springmvc中配置,否则会配置无效)
<!-- AOP 注解方式 ;定义Aspect --><!-- 激活组件扫描功能,在包com.ly.aop.aspect及其子包下面自动扫描通过注解配置的组件--><context:component-scan base-package="com.relaxPalace.web.aop.aspect"/><!-- 启动AspectJ支持 只对扫描过的bean有效--><aop:aspectj-autoproxy proxy-target-class="true" /><beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" /><beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />
3.定义aop的作用范围
SysLogAspectJ.java:
package com.relaxPalace.web.aop.aspect;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;import org.springframework.stereotype.Component;/** * Created by Administrator on 2017/7/2. */@Component@Aspectpublic class SysLogAspectJ { //Controller aop @Pointcut("execution(public * com.relaxPalace.web.controller.*.*(..))") public void checkToken(){ } @Before("checkToken()") public void beforeCheckToken(){ System.out.println("调用方法之前。。。。"); } @AfterReturning("checkToken()") public void afterCheckToken(){ System.out.println("调用方法结束之后。。。。"); } //抛出异常时才调用 @AfterThrowing("checkToken()") public void afterThrowing() { System.out.println("校验token出现异常了......"); } //dao aop @Pointcut("execution(public * com.relaxPalace.web.dao.*.*(..))") public void dao(){ } @Before("dao()") public void beforeDao(){ System.out.println("调用dao方法之前。。。。"); } @AfterReturning("dao()") public void afterDao(){ System.out.println("调用dao方法结束之后。。。。"); } //抛出异常时才调用 @AfterThrowing("dao()") public void afterDaoThrowing() { System.out.println("校验dao出现异常了......"); }}
配置完毕后在执行controller和dao的方法会执行相应的逻辑操作。
阅读全文
0 0
- SpringMVC配置AOP
- SpringMVC使用注解配置AOP
- SpringMVC、MyBatis声明式事务管理+AOP配置
- springMVC中aop配置不起作用解决方法
- springMVC aop
- springMVC对ibatis,hibernate,aop,缓存等的配置
- springMVC配置spring AOP功能中遇到的问题
- 天易47----Springmvc注解方式实现aop配置简单示例
- SpringMVC中使用AOP
- SpringMVC 使用 AOP注解
- springmvc Ioc和aop
- springmvc里的Aop
- SpringMVC AOP详解
- springmvc中的aop{todo}
- aop配置
- 配置AOP
- AOP配置
- AOP配置
- httpd编译安装第三方模块示例
- Linux搭建—NFS服务的安装与配置
- 读书笔记-人月神话14
- 毕业小结--非技术-社会
- HDU 3555 数位DP 解题报告
- SpringMVC配置AOP
- Java8函数式编程
- HBuilder mui入门教程——(2)含tab选项卡的首页
- 随机产生n个字符串排序输出
- PRO-seq数据分析
- Spark基本工作原理与RDD
- 30元内,搭建个人网站
- 物理材质与射线
- NIO