解决方案 »

  1.   

    <aop:config>  配置了没有?
      

  2.   


    用的注解了,这个不需要配的吧?
    那你是不是陪了<context:component-scan> 却没有把test 所在路径配进去啊!
      

  3.   

    hibernate里面用注解?我很不习惯,配置就是配置,代码就是代码,代码配置混在一起,可读性很差个人认为JDK1.6以后的annotation功能是完全错误的发展方向
      

  4.   


    用的注解了,这个不需要配的吧?
    那你是不是陪了<context:component-scan> 却没有把test 所在路径配进去啊!
    那应当不会,@Controller都能调到@Service里面这个test方法,说明是扫描到了的。
      

  5.   

    主要是现在出了个spring mvc导致注解方式大流行,网上也挺多了在说这不是耦合更高了嘛。
      

  6.   

    现在我去掉实现类里面的@Service注解然后在配置文件里配置<bean id="" class=""></bean>,这样事务就正确的。从启动信息里看在xml中配置和使用@Service注解方法我看这个bean都是创建了的,区别就是放配置里面时候创建时间比注解要早。
      

  7.   

    <bean id="transactionManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager" >
            <property name="dataSource" ref="dataSource" />
        </bean>
    把 你的  transactionManager 的配置  改为 下面 这样 就可以了  至于sessionFactory  你自己配一个
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
    </bean>
      

  8.   


    sessionFactory 怎么配,我是直接通过c3p0连接mysql的?
      

  9.   

    这样注解 @Transactional(rollbackFor=Exception.class)
    然后在方法中把异常抛出,不要捕获异常。
      

  10.   

    这样也没用,你看我的测试代码本就没有进行异常捕获。
    关键在于在xml中配置bean就可以,通过扫描的就不行。
      

  11.   


    sessionFactory 怎么配,我是直接通过c3p0连接mysql的?
    sessionFactory  配置网上一大堆    
    下面是我的一个项目的配置    你看看吧   
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
      <property name="dataSource" ref="dataSource"/>
      <property name="packagesToScan" value="com.kuqu.crm.pojo"/>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.format_sql">true</prop>
                </props>
            </property>
    </bean>
      

  12.   

    我这里是没用到hibernate的,捣鼓了下还是解决了,原因为以下两点。
    1、mysql表模式用的是MyISAM不支持事务,但不知道为嘛在xml中定义bean却可以回滚操作。
    更改为InnoDB模式。
    2、application.xml和mvc.xml为父子容器关系,在mvc.xml中扫描的service不具有事务功能,因此service放在application.xml扫描。