eclipse+tomcat+struts2.1+hibernate3.2+spring2.5的环境运行的时候eclipse报错 信息如下
Caused by: org.springframework.aop.framework.adapter.UnknownAdviceTypeException: Advice object [org.springframework.transaction.interceptor.TransactionInterceptor@84e63b] is neither a supported subinterface of [org.aopalliance.aop.Advice] nor an [org.springframework.aop.Advisor]
applicationContext.xml文件信息如下
<?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.5.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
<property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=MBOOK"></property>
<property name="username" value="sa"></property>
<property name="password" value="wl"></property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialet">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.show_sql">
true
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/com/vo/Book.hbm.xml</value>
<value>org/com/vo/Login.hbm.xml</value>
<value>org/com/vo/Student.hbm.xml</value>
<value>org/com/vo/Lend.hbm.xml</value>
</list>
</property>
</bean>
<!-- 对Dao进行依赖注入 -->
<bean id="bookDao" class="org.com.dao.impl.BookDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="loginDao" class="org.com.dao.impl.LoginDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="studentDao" class="org.com.dao.impl.StudentDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="lendDao" class="org.com.dao.impl.LendDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 对业务逻辑进行依赖注入 -->
<bean id="bookservice" class="org.com.service.impl.BookServiceImpl">
<property name="bookDao" ref="bookDao"></property>
</bean>
<bean id="loginservice" class="org.com.service.impl.LoginServiceImpl">
<property name="loginDao" ref="loginDao"></property>
</bean>
<bean id="studentservice" class="org.com.service.impl.StudentServiceImpl">
<property name="studentDao" ref="studentDao"></property>
</bean>
<bean id="lendservice" class="org.service.impl.LendServiceImpl">
<property name="lendDao" ref="lendDao"></property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<!-- HibernateTransactionManager bean需要依赖注入一个SessionFactory bean的引用-->
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean> <!-- 配置事务拦截器-->
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<!-- 下面定义事务传播属性-->
<props>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- 定义BeanNameAutoProxyCreator,该bean无须被引用,因此没有id属性,这个bean根据事务拦截器为目标bean自动创建事务代理-->
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<!-- 指定对满足哪些bean name的bean自动生成业务代理 -->
<property name="beanNames">
<!-- 下面是所有需要自动创建事务代理的bean-->
<list>
<value>bookservice</value>
<value>studentservice</value>
<value>loginservice</value>
<value>lendservice</value>
</list>
<!-- 此处可增加其他需要自动创建事务代理的bean-->
</property>
<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<!-- 此处可增加其他新的Interceptor -->
</list>
</property>
</bean>
</beans>在线等大神!!好急啊,比上厕所忘带手纸还急啊啊啊!!
Caused by: org.springframework.aop.framework.adapter.UnknownAdviceTypeException: Advice object [org.springframework.transaction.interceptor.TransactionInterceptor@84e63b] is neither a supported subinterface of [org.aopalliance.aop.Advice] nor an [org.springframework.aop.Advisor]
applicationContext.xml文件信息如下
<?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.5.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
<property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=MBOOK"></property>
<property name="username" value="sa"></property>
<property name="password" value="wl"></property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialet">
org.hibernate.dialect.SQLServerDialect
</prop>
<prop key="hibernate.show_sql">
true
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>org/com/vo/Book.hbm.xml</value>
<value>org/com/vo/Login.hbm.xml</value>
<value>org/com/vo/Student.hbm.xml</value>
<value>org/com/vo/Lend.hbm.xml</value>
</list>
</property>
</bean>
<!-- 对Dao进行依赖注入 -->
<bean id="bookDao" class="org.com.dao.impl.BookDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="loginDao" class="org.com.dao.impl.LoginDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="studentDao" class="org.com.dao.impl.StudentDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="lendDao" class="org.com.dao.impl.LendDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!-- 对业务逻辑进行依赖注入 -->
<bean id="bookservice" class="org.com.service.impl.BookServiceImpl">
<property name="bookDao" ref="bookDao"></property>
</bean>
<bean id="loginservice" class="org.com.service.impl.LoginServiceImpl">
<property name="loginDao" ref="loginDao"></property>
</bean>
<bean id="studentservice" class="org.com.service.impl.StudentServiceImpl">
<property name="studentDao" ref="studentDao"></property>
</bean>
<bean id="lendservice" class="org.service.impl.LendServiceImpl">
<property name="lendDao" ref="lendDao"></property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<!-- HibernateTransactionManager bean需要依赖注入一个SessionFactory bean的引用-->
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean> <!-- 配置事务拦截器-->
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
<!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
<property name="transactionManager" ref="transactionManager"/>
<property name="transactionAttributes">
<!-- 下面定义事务传播属性-->
<props>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- 定义BeanNameAutoProxyCreator,该bean无须被引用,因此没有id属性,这个bean根据事务拦截器为目标bean自动创建事务代理-->
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<!-- 指定对满足哪些bean name的bean自动生成业务代理 -->
<property name="beanNames">
<!-- 下面是所有需要自动创建事务代理的bean-->
<list>
<value>bookservice</value>
<value>studentservice</value>
<value>loginservice</value>
<value>lendservice</value>
</list>
<!-- 此处可增加其他需要自动创建事务代理的bean-->
</property>
<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
<!-- 此处可增加其他新的Interceptor -->
</list>
</property>
</bean>
</beans>在线等大神!!好急啊,比上厕所忘带手纸还急啊啊啊!!
解决方案 »
- 求助,单向manyToOne关系插入数据
- 用maven管理的项目中如何实现不打war包就能部署
- 一道可以锻炼你思维的笔试题,在线等!!!
- 请问 SWING开发 用哪个工具 操作简单 和快捷呢?
- 哪儿有Spring【配置文件】的详细说明(参考手册)
- 100分 菜鸟问题,初学JAVA 大家帮忙看下 说下这是什么意思怎么用的越仔细越好 谢谢了 在线等
- DAO中写个登录验证的方法
- 如何 保存<c:forEach>标签中循环变量的值
- 到底也没弄明白Java中的监听是怎么实现的
- 这个是什么时间格式:2015-10-05T21:02:49.228Z?
- 借问各位大侠,Java能够通过Apache的FTPClient删除FTP服务器上的文件夹吗?
- 浏览器不同tab页打开,能不能产生新的session对象?
<!-- 配置事务特性,配置add,delete,update开始的方法,事务传播特性为required -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>还是报一样的错
<tx:annotation-driven transaction-manager="txManagerOra" />
<!-- 配置事务 -->
<bean id="txManagerOra" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="hibernateSessionFactory" />
</bean>
<!-- 配置事物管理策略 -->
<tx:advice id="txAdvice" transaction-manager="txManagerOra">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
<tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
<tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
<tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
<tx:method name="modify*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
<tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
<tx:method name="del*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
<tx:method name="remove*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice><!-- 定义切点 -->
<aop:config>
<aop:pointcut expression="execution(* com.featureslist.*.*.service.impl.*(..))" id="MethodPointCut1"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="MethodPointCut1"/>
</aop:config>
正解。。楼主少了最后这步。。配置切点或切面使用上你定义的advice。。