Spring AOP创建BeforeAdvice和AfterAdvice实例
BeforeAdvice
1、会在目标对象的方法执行之前被调用。
2、通过实现MethodBeforeAdvice接口来实现。
3、该接口中定义了一个方法即before方法,before方法会在目标对象target之前执行。
AfterAdvice
1、在目标对象的方法执行之后被调用
2、通过实现AfterReturningAdvice接口实现
实现目标:
在方法之前调用执行某个动作。
IHello 和Hello:
1
2
3
4
5
6
7
8
9
public interface IHello {
public void sayHello(String str);
}
public class Hello implements IHello {
@Override
public void sayHello(String str) {
System.out.println(“你好”+str);
}
}
SayBeforeAdvice:
1
2
3
4
5
6
7
8
9
public class SayBeforeAdvice implements MethodBeforeAdvice {
@Override
public void before(Method arg0, Object[] arg1, Object arg2) throws Throwable {
// TODO Auto-generated method stub
System.out.println("在方法执行前做事情!");
}
}
SayAfterAdvice文件:
1
2
3
4
5
6
7
8
9
public class SayAfterAdvice implements AfterReturningAdvice {
@Override
public void afterReturning(Object arg0, Method arg1, Object[] arg2, Object arg3) throws Throwable {
// TODO Auto-generated method stub
System.out.println("在方法执行后做事情!");
}
}
applicationContext.xml:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Main执行:
1
2
3
4
5
6
7
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext context=new ClassPathXmlApplicationContext(“applicationContext.xml”);
IHello hello=(IHello)context.getBean("helloProxy");
hello.sayHello("访客");
}
东莞网站建设www.zg886.cn