ClassCastException: org.springframework.aop.aspectj.AspectJExpressionPointcut

问题

Exception in thread "main" java.lang.ClassCastException: org.springframework.aop.aspectj.AspectJExpressionPointcut cannot be cast to com.wei.service.IAccountService
	at AOPTest.main(AOPTest.java:9)

原因

  • 将切点表达式的id与AccountService的实现类的bean的id取了一样的名字。
    <bean id="accountService" class="com.wei.service.impl.AccountServiceImpl" ></bean>
    <aop:config >
        <aop:pointcut id="accountService" expression="execution(* com.wei.service.*.*(..))"/>
        <aop:aspect id="logAdvice" ref="logger">
            <!--配置通知的类型,并且建立通知的方法和切入点方法的关联。-->
            <aop:before method="printLog" pointcut-ref="accountService" />
        </aop:aspect>
    </aop:config>

解决

  • 修改id即可。
    <bean id="accountService" class="com.wei.service.impl.AccountServiceImpl" ></bean>
    <aop:config >
        <aop:pointcut id="servicePointCut" expression="execution(* com.wei.service.*.*(..))"/>
        <aop:aspect id="logAdvice" ref="logger">
            <!--配置通知的类型,并且建立通知的方法和切入点方法的关联。-->
            <aop:before method="printLog" pointcut-ref="servicePointCut" />
        </aop:aspect>
    </aop:config>

如果有帮助到你,希望可以点个赞!谢谢!


总结

  • 如果以后看见类型转换异常,先看是什么类型转换异常,然后再从它的配置入手。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nickkkkkkkkk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值