刚开始学Spring AOP,想用applicationContext.xml文件配置AOP。
自己创建一个类:com.spring.test.A,其中一个public 方法getName(),将A配置为Spring IOC容器中的一个bean。为切入点"execution(* com.spring.test.A.getName(..))"配置了前置、后置通知。
接下来问题来了,在测试代码中new出一个A实例,然后调用该实例的getName()方法,结果前置、后置通知不起作用;但是如果A实例不是new出来的,而是从Spring IOC容器中获得的,这时候调用该实例的getName()方法,前置、后置通知均起作用了。这是怎么回事啊?难道AOP只对Spring管理的bean起作用,而对代码中自己new出来的对象则无效?求大神赐教!
自己创建一个类:com.spring.test.A,其中一个public 方法getName(),将A配置为Spring IOC容器中的一个bean。为切入点"execution(* com.spring.test.A.getName(..))"配置了前置、后置通知。
接下来问题来了,在测试代码中new出一个A实例,然后调用该实例的getName()方法,结果前置、后置通知不起作用;但是如果A实例不是new出来的,而是从Spring IOC容器中获得的,这时候调用该实例的getName()方法,前置、后置通知均起作用了。这是怎么回事啊?难道AOP只对Spring管理的bean起作用,而对代码中自己new出来的对象则无效?求大神赐教!