Java基础-SSM之Spring的AOP编程

                                    作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

     Spring的本质说白了就是动态代理,接下来我们会体验AOP的用法。它是对OOP的增强,适用于系统级功能。

 

 一.MethodBeforeAdvice接口的应用

1>.引入新的依赖

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6 
 7     <groupId>cn.org.yinzhengjie</groupId>
 8     <artifactId>MySpring</artifactId>
 9     <version>1.0-SNAPSHOT</version>
10 
11     <dependencies>
12         <dependency>
13             <groupId>junit</groupId>
14             <artifactId>junit</artifactId>
15             <version>4.11</version>
16         </dependency>
17         <dependency>
18             <groupId>org.springframework</groupId>
19             <artifactId>spring-context-support</artifactId>
20             <version>4.3.5.RELEASE</version>
21         </dependency>
22 
23         <dependency>
24             <groupId>aopalliance</groupId>
25             <artifactId>aopalliance</artifactId>
26             <version>1.0</version>
27         </dependency>
28     </dependencies>
29     
30 </project>

2>.定义通知类

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 package cn.org.yinzhengjie.spring.aop.advice;
 7 
 8 import org.springframework.aop.MethodBeforeAdvice;
 9 
10 import java.lang.reflect.Method;
11 
12 /**
13  * 前置通知
14  */
15 public class MyMethodBeforeAdvice implements MethodBeforeAdvice {
16     public void before(Method method, Object[] args, Object target) throws Throwable {
17         String mname = method.getName() ;
18         System.out.printf("当前处理的对象 : %s\n调用对象的方法 : %s\n调用参数 : %s\n" , target.toString(),mname.toString(),args.toString());
19         System.out.println("============= MyMethodBeforeAdvice代码执行完毕 =============");
20     }
21 }

3>.编写实现WelcomeService和WelcomeService2两个接口的类

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 package cn.org.yinzhengjie.spring.aop.advice;
 7 
 8 public interface WelcomeService {
 9     public abstract void sayHello();
10 }
WelcomeService.java 文件内容

相关文章:

  • 2021-05-25
  • 2022-03-02
  • 2022-01-08
  • 2021-11-19
  • 2021-06-18
  • 2021-05-23
  • 2021-04-24
猜你喜欢
  • 2021-11-10
  • 2021-08-08
  • 2022-01-27
  • 2022-12-23
  • 2021-04-26
  • 2021-12-18
  • 2021-11-08
相关资源
相似解决方案