首页 > 代码库 > SpringAOP学习第一天 @Pointcut注解
SpringAOP学习第一天 @Pointcut注解
自从上班之后,就很少再看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注解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。