Spring AOP编程问题:下面代码哪里错了?可以考验对Spring AOP的实现机制是否了解的

引言

刚刚开始学Spring AOP,按照教程配置好之后,可以像正常方法那样执行,却怎么也不会执行切面的方法。去群里问了一下,结果也没有解决。然后自己慢慢的试,终于发现了原因。

下面是一段有问题的代码,只有一处有问题,运行的时候,会报一个NoSuchBeanDefinitionException异常( 这里故意不给出详细异常信息 ),若能从下面代码中看出问题,那应该对Spring的AOP实现机制有一定了解。若不能,可以到 Spring_03_AOP_Wrong–github里下载源代码。另外,我将在下一篇博客里解析一下,毕竟新手的话,碰到这样的问题,也比较难处理。

代码如下

类A,测试类,打算拦截A的doing方法

    @Component
    public class AImpl implements A
    {
        public void doing() {
            System.out.println("hello");
        }

        public static void main( String[] args )
        {
            ApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml");
            AImpl a=ctx.getBean(AImpl.class);
            a.doing();
        }


    }

类B是一个切面

    @Aspect
    public class B {

        @Pointcut("execution(* doing(..))")
        public void pointCutMethod(){
            System.out.println("进入切入点!");
        }

        @Before("pointCutMethod()")
        public void doBefore(){
            System.out.println("前置通知!");
        }

        @After("pointCutMethod()")
        public void doAfter(){
            System.out.println("后置通知!");
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值