springaop通过joinpoint传递参数
三、总结。
我们可以通过Advice中添加⼀个JoinPoint参数,这个值会由⾃动传⼊,从JoinPoint中可以取得。
三、总结。
我们可以通过Advice中添加⼀个JoinPoint参数,这个值会由⾃动传⼊,从JoinPoint中可以取得。
三、总结。
我们可以通过Advice中添加⼀个JoinPoint参数,这个值会由⾃动传⼊,从JoinPoint中可以取得。
⼀、概述
AOP的实现⽅法在上两篇博客中已经⽤了两种⽅法来实现现在的问题来了虽然我们利⽤AOP,那么客户端如何信息传递?
利⽤JoinPoint接⼝来实现客户端给具体实现类的传递参数。
⼆、代码演⽰。
⽬录结构:
土豆炒肉丝
SecurityHandler.
[java]
1. b.spring;
2.
3. import org.aspectj.lang.JoinPoint;
4.
5.
6. public class SecurityHandler{
7.
8.
9. private void checkSecurity(JoinPoint joinPoint){
10. for (int i = 0; i < Args().length; i++) {
11. System.out.Args()[i]);
12. }
12. }
13. System.out.Signature().getName());
14.
15. System.out.println("=====checkSecurity====");会员英文
16.
17. }
18.
19.
20. }
Client.java
[java]
1. b.spring;
2.
3. import org.springframework.beans.factory.BeanFactory;
4. import t.support.ClassPathXmlApplicationContext;
团结友爱的格言
竹子英语
5.
6. b.spring.UrManager;
7.
8.
9.
10. public class Client {
11.
12. public static void main(String[] args) {
13. BeanFactory factory=new ClassPathXmlApplicationContext("l");
14. UrManager urManager=(UrManager) Bean("urManager");
15. urManager.addUr("张三", "123");
16. //urManager.delUr(1);
17.
18. }
19. }
UrManager.java
[java]
1. b.spring;
2.
3. public interface UrManager {
4.
5. public void addUr(String urname,String password);
6.
7. public void delUr(int urId);卧式镗床
8.
9. public String findUrById(int urId);
10.
11. public void modifyUr(int urId,String urname,String password);
12.
13. }
UrManagerImpl.java
[java]
1. b.spring;
2.
3. public class UrManagerImpl implements UrManager {
4.
5. public void addUr(String urname, String password) {
6. //checkSecurity();
7. System.out.println("===UrManager.addUr===");
8.
9. }
10.
11. public void delUr(int urId) {
12. //checkSecurity();
13. System.out.println("===UrManager.delUr===");
14.
15. }
用无论都造句
16.
17. public String findUrById(int urId) {
18. //checkSecurity();
19. System.out.println("===UrManager.findUrById===");
20. return "张三";
20. return "张三";
21. }
22.
23. public void modifyUr(int urId, String urname, String password) {
24. //checkSecurity();
25. System.out.println("===difyUr===");
秋天
26.
27. }
28.
29. // private void checkSecurity(){
30. // System.out.println("checkSecurity");
31. //
32. // }
33.
34. }
[html]
1. <?xml version="1.0" encoding="UTF-8"?>
2.
3.
4. <beans xmlns="www.springframework/schema/beans"
5. xmlns:xsi="www.w3/2001/XMLSchema-instance"
6. xmlns:aop="www.springframework/schema/aop"
7. xmlns:tx="www.springframework/schema/tx"
8. xsi:schemaLocation="www.springframework/schema/beans www.springframework/schema/b
beans-2.0.xsd
9. www.springframework/schema/aop www.springframework/schema/aop/spring-
aop-2.0.xsd
10. www.springframework/schema/tx www.springframework/schema/tx/spring-tx-
2.0.xsd">
11.
12.
13. <bean id="urManager" class="b.spring.UrManagerImpl" />
手机怎么连蓝牙
14. <bean id="curityHandler" class="b.spring.SecurityHandler"/>
15. <aop:config>
16. <aop:aspect id="curityAspect" ref="curityHandler">
17.
18. <aop:pointcut id="addAddMethod" expression="execution(* b.spring.*.*(..))" />
19. <aop:before method="checkSecurity" pointcut-ref="addAddMethod" />
三、总结。
我们可以通过Advice中添加⼀个JoinPoint参数,这个值会由⾃动传⼊,从JoinPoint中可以取得。