黑马程序员技术交流社区
标题:
【上海校区】Spring实战+总结归纳:AOP导学图+实例
[打印本页]
作者:
不二晨
时间:
2019-4-8 13:41
标题:
【上海校区】Spring实战+总结归纳:AOP导学图+实例
一、思维导图
20180914103133458.png
(84.01 KB, 下载次数: 39)
下载附件
2019-4-8 13:41 上传
二、构建AOP步骤
1.导包:AOP,Aspect
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>${spring.version}</version>
</dependency>
2.在Java配置文件中开启代理
@EnableAspectJAutoProxy
3.编写切面(包括切点和通知)
package com.yan.otl.main.aspect;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class LoginControllerAspect {
@Pointcut("execution(* com.yan.otl.main.controller.LoginController.getUser(..))")
public void getUser() {}
@Before("getUser()")
public void before() {
System.out.println("---------------------前置通知");
}
@After("getUser()")
public void after() {
System.out.println("---------------------后置通知,返回通知和异常通知");
}
@AfterReturning("getUser()")
public void afterReturning() {
System.out.println("---------------------返回通知");
}
@AfterThrowing("getUser()")
public void afterThrowing() {
System.out.println("---------------------异常通知");
}
}
4、输出结果
---------------------前置通知
com.yan.otl.main.data.User@6ad075e1
---------------------后置通知,返回通知和异常通知
---------------------返回通知
---------------------
【转载,仅作分享,侵删】
作者:醉花妍
原文:
https://blog.csdn.net/qq_42214817/article/details/82698828
版权声明:本文为博主原创文章,转载请附上博文链接!
作者:
不二晨
时间:
2019-4-10 14:21
奈斯,感谢分享!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2