Spring AOP编程问题:下面代码哪里错了?可以考验对Spring AOP的实现机制是否了解的
2015-09-02 20:17
651 查看
引言
刚刚开始学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("后置通知!"); } }
相关文章推荐
- JAVA_SE基础——28.封装
- Java IO最详解
- echarts-springmvc+echarts实现图表
- log4j+slf4j+spring(web项目)
- eclipse和JDK的安装及环境配置
- Java设计模式——工厂模式
- Java心得27
- java并发编程(对于线程内共享变量安全的思考)
- JAVA ASSERT 断言
- java中instanceof用法
- spring属性依赖注入
- eclipse MAT - Memory Analyzer Tool 使用进阶
- java获取资源路径问题
- mybatis-springmvc+mybatis实现增删改查
- java中equals与==的区别
- java正则表达式最简单 学习教程
- 程序算法之选择排序和冒泡排序
- MyEclipse下java.lang.OutOfMemoryError: Java heap space的解决!
- java线程间通信
- java并发编程第六章(7)生成并发编程随机数