码迷,mamicode.com
首页 > 编程语言 > 详细

SpringAOP学习第一天 @Pointcut注解

时间:2017-08-03 00:47:47      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:map   ons   autowire   enable   ret   style   char   abstract   pac   

自从上班之后,就很少再看AOP相关的内容,几年时间里虽然也有一两次完整看过,一直没有机会用到,都忘记了。今天重温一下

TestNG测试类

package com.test.spring.aop.mineunderstatnd1;

import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.testng.annotations.Test;

@ContextConfiguration(classes={AppConfig.class})
public class RechargeTest extends AbstractTestNGSpringContextTests{
    
    @Autowired
    private AccountRecharge accountRecharge;

    @Autowired
    private Interceptor interceptor;

    @Test
    public void test() {
        Map request = new HashMap();
        accountRecharge.execute(request);
    }
}

业务类

package com.test.spring.aop.mineunderstatnd1;

import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.testng.annotations.Test;

@ContextConfiguration(classes={AppConfig.class})
public class RechargeTest extends AbstractTestNGSpringContextTests{
    
    @Autowired
    private AccountRecharge accountRecharge;

    @Autowired
    private Interceptor interceptor;

    @Test
    public void test() {
        Map request = new HashMap();
        accountRecharge.execute(request);
    }
}

切面类

@Aspect
public class Interceptor {
    @Pointcut("execution(* com.test.spring.aop.mineunderstatnd1.AccountRecharge.execute(java.util.Map)) && args(request)")
    public void execute(HashMap request){}
    @Before("execute(request)")
    public void before(HashMap request) {
        System.out.println("前置拦截器");
    }
}

配置类

package com.test.spring.aop.mineunderstatnd1;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;

@Configuration
@EnableAspectJAutoProxy
@ComponentScan
public class AppConfig {
    @Bean
    public AccountRecharge AccountRecharge() {
        return new AccountRecharge();
    }
    @Bean
    public Interceptor interceptor() {
        return new Interceptor();
    }
}

运行结果:

前置拦截器
do recharge
PASSED: test

 

SpringAOP学习第一天 @Pointcut注解

标签:map   ons   autowire   enable   ret   style   char   abstract   pac   

原文地址:http://www.cnblogs.com/heben/p/7277446.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!