Hi, I'm new in Spring, and when I tried one of the example in spring in action,I got the following error:

Exception in thread "main" org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'knight': FactoryBean threw exception on object creation; nested exception is org.springframework.aop.framework.AopConfigExcepti on: Could not generate CGLIB subclass of class [class com.springinaction.chapter01.knight.KnightOfTheRou ndTable]: Common causes of this problem include using a final class or a non-visible class; nested exception is java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given

this is spring configuration xml file:

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="quest"
class="com.springinaction.chapter01.knight.HolyGra ilQuest"/>
<bean id="knightTarget"
class="com.springinaction.chapter01.knight.KnightO fTheRoundTable">
<constructor-arg>
<value>Bedivere</value>
</constructor-arg>
<property name="quest">
<ref bean="quest"/>
</property>
</bean>

<bean id="minstrel" class="com.springinaction.chapter01.knight.Minstre lAdvice"></bean>

<bean id="knightAdvisor"
class="org.springframework.aop.support.NameMatchMe thodPointcutAdvisor">
<property name="mappedName">
<value>embarkOnQuest</value>
</property>
<property name="advice">
<ref bean="minstrel" />
</property>
</bean>


<bean id="knight" class="org.springframework.aop.framework.ProxyFact oryBean">
<property name="proxyTargetClass" value="true"></property>
<property name="proxyInterfaces">
<list>
<value>com.springinaction.chapter01.knight.Knigh t</value>

</list>


</property>
<property name="interceptorNames">
<list>
<value>knightAdvisor</value>
</list>
</property>
<property name="target">
<ref bean="knightTarget"/>
</property>
</bean>

</beans>

This is my main file:

public class KnightApp {

public static void main(String[] args) throws QuestException {

ApplicationContext ctx =
new FileSystemXmlApplicationContext(
"/src/applicationContext.xml");

//Instantiate an object

KnightOfTheRoundTable knight =
(KnightOfTheRoundTable) ctx.getBean("knight");
knight.embarkOnQuest();

}

}

class KnightOfTheAroundTable implements interface Knight,
can you please tell me what am I doing wrong?


thanks for any help!