默认情况下是使用JDK的动态代理的
是根据接口生成代理类的
所以必须要有接口
不用接口就必须使用CGLIB代理
你自己看书去
呵呵

解决方案 »

  1.   

    楼主还用这么原始的配置呢....
    好久以前用的配置,用注解和<aop>更方便,看下
      

  2.   

    如果启动的时候就报错,就用单元测试或主方法测试一下;public void testSpring() {
    BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
    HibernateTransactionManager transactionManager = (HibernateTransactionManager) factory.getBean("transactionManager");
    sf= transactionManager.getSessionFactory();
    System.out.print(sf.isClosed());
    }看看transactionManager能不能用,然后在分析他是哪里错,如果这么直接看,影响错误的地方很多,重点是先是找多错再哪里;
    再有,很大的可能是动态代理造成的;