I am having trouble getting a aop demo working in SPRING.
My test program starts a ClassPathXmlApplicationContext which loads the folling applicationContext;
<bean id="beforeAdvice" class="MyBeforeAdvice"/>
<bean id="beforeAdvisor"
class="org.springframework.aop.support.RegexpMetho dPointcutAdvisor">
<property name="advice"><ref local="beforeAdvice"/></property>
<property name="pattern"><value>.*</value></property>
</bean>
<bean id="test1" class="org.springframework.aop.framework.ProxyFact oryBean">
<property name="proxyInterfaces"><value>TestBean</value></property>
<property name="target"><bean class="TestBeanImpl"/></property>
<property name="interceptorNames">
<list>
<value>beforeAdvisor</value>
</list>
</property>
</bean>
beforeAdvice just prints a message so I know it is called.
The first time I run test app to get the 'test1' bean and call its methods I got
NoClassDefFoundError: net/sf/cglib/proxy/MethodInterceptor
I expected it to proxy the TestBean interface supplied to proxyInterfaces and not use cglib to proxy the TestBeanImpl class, but I go along with this anyway and put cglib on the classpath.
Now I have the following exception, any help with this would be greatly appreciated.
- Jeff
org.springframework.aop.framework.AopConfigExcepti on: Cannot create AopProxy with no advisors and no target source
at org.springframework.aop.framework.Cglib2AopProxy.< init>(Cglib2AopProxy.java:77)
at org.springframework.aop.framework.DefaultAopProxyF actory$CglibProxyFactory.createCglibProxy(DefaultA opProxyFactory.java:47)
at org.springframework.aop.framework.DefaultAopProxyF actory$CglibProxyFactory.access$000(DefaultAopProx yFactory.java:44)
at org.springframework.aop.framework.DefaultAopProxyF actory.createAopProxy(DefaultAopProxyFactory.java: 32)
at org.springframework.aop.framework.AdvisedSupport.c reateAopProxy(AdvisedSupport.java:454)
at org.springframework.aop.framework.ProxyFactoryBean .getSingletonInstance(ProxyFactoryBean.java:210)
at org.springframework.aop.framework.ProxyFactoryBean .getObject(ProxyFactoryBean.java:194)
at org.springframework.beans.factory.support.Abstract BeanFactory.getObjectForSharedInstance(AbstractBea nFactory.java:469)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:137)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.getBeansOfType(DefaultListableB eanFactory.java:144)
at org.springframework.beans.factory.BeanFactoryUtils .beansOfTypeIncludingAncestors(BeanFactoryUtils.ja va:109)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.findMatchingBeans(DefaultListab leBeanFactory.java:268)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.autowireByType(Abstract AutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.populateBean(AbstractAu towireCapableBeanFactory.java:460)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:232)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:177)
at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:159)
at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:177)
at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:268)
at org.springframework.context.support.ClassPathXmlAp plicationContext.<init>(ClassPathXmlApplicationCon text.java:58)
at RunTest.main(RunTest.java:14)
Ex


Reply With Quote