因为自己配置时jar包版本不太对,AOP包不能用,因此声明事物管理无效,只能手动在方法中声明

1.报:AnnotationTransactionAttributeSource is only available on Java 1.5 and higher错误,错误的意思是注解式事物声明仅仅支持1.5及以上的jdk,言下之意为你的jdk版本过低,

实际上根本不是这回事,是因为用了1.8的jdk,及jdk版本太高,这在较低版本的Spring中会出现这种错误,要解决要么用最新的Spring,要么降低jdk版本

 

2.Spring中整合ORM框架的配置:在applicationContext.xml中加:

<context:property-placeholder location="classpath:jdbc.properties" />
    <!--配置数据源JDBC -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
            destroy-method="close">
        <property name="driverClassName">
            <value>${db.driver}</value>
        </property>
        <property name="url">
            <value>${db.url}</value>
        </property>
        <property name="username">
            <value>${db.username}</value>
        </property>
        <property name="password">
            <value>${db.password}</value>
        </property>
        <property name="maxActive"><!--连接池的最大数据库连接数。设为0表示无限制。 -->
            <value>1000</value>
        </property>
        <property name="maxIdle"><!--maxIdle是最大的空闲连接数,表示即使没有数据库连接时依然可以保持空闲的连接,而不被清除,随时处于待命状态。 -->
            <value>10</value>
        </property>
        <property name="maxWait"><!--最大建立连接等待时间。如果超过此时间将接到异常 -->
            <value>10000</value>
        </property>
    </bean>
   <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
         <property name="dataSource" ref="dataSource"/>
         <!--用来列出所有的PO映射文件 -->
         <property name="mappingResources">
            <list>
                <value>com/wang/bean/User.hbm.xml</value>
            </list>
         </property>
         <!--设置Hibernate属性 -->
         <property name="hibernateProperties">
               <props>
                    <!--配置连接数据库的方言-->
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                    <!--设置当创建SessionFactory时,是否根据映射文件自动建立数据库表—-->
                    <prop key="hibernate.hbm2ddl.auto">create</prop>
                    <!--是否将SQL语句转化成格式良好的SQL -->
                    <prop key="hibernate.format_sql">true</prop>
               </props>
         </property>
   </bean>    
   <!-- 配置Hibernate的局部事务管理器,使用HibernateTransactionManager类-->
   <!-- 该类实现PlatformTransactionManager接口,是针对Hibernate的特定实现类-->
   <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
         <property name="sessionFactory" ref="sessionFactory"/>
   </bean>

3.web.xml中添加Struts2过滤器和Spring监听

 <listener>
      <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
 
  <filter>
      <filter-name>struts2</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>