小弟最近在写一个基于SSH架构的项目,现在写订单的增删改模块,Spring配置文件里配置了延迟加载后遇到事物配置问题说事物并非自动提交模式,于是便在Spring配置文件里加了设置事物的信息便报如下错误 请问各位高手如何解决? 或者如何解决事物不是自动提交现象?Spring配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans>
<bean id="ds" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://127.0.0.1:1433;databasename=db_shopping">
</property>
<property name="username" value="sa"></property>
<property name="password" value=""></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="ds" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/shop/po/Admin.hbm.xml</value>
<value>com/shop/po/BigType.hbm.xml</value>
<value>com/shop/po/SmallType.hbm.xml</value>
<value>com/shop/po/Goods.hbm.xml</value>
<value>com/shop/po/OrderDetail.hbm.xml</value>
<value>com/shop/po/Member.hbm.xml</value>
<value>com/shop/po/Order.hbm.xml</value>
</list>
</property>
</bean>
<bean id="baseTransaction"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager" ref="transactionManager" />
<property name="proxyTargetClass" value="true" />
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="AdminDao" class="com.shop.base.GenericHibernateDao">
<constructor-arg index="0" value="com.shop.po.Admin" />
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="OrderDao" class="com.shop.base.GenericHibernateDao">
<constructor-arg index="0" value="com.shop.po.Order" />
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="adminService" parent="baseTransaction"
class="com.shop.service.impl.AdminServiceImpl">
<property name="adminDao" ref="AdminDao" />
</bean>
<bean id="orderService" parent="baseTransaction"
class="com.shop.service.impl.OrderServiceImpl">
<property name="orderDao" ref="OrderDao" />
</bean>
</beans>异常如下:
org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'baseTransaction' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Class that bean class [org.springframework.transaction.interceptor.TransactionProxyFactoryBean] depends on not found; nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/framework/ProxyConfig
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:550)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:432)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitions(DefaultXmlBeanDefinitionParser.java:347)
org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:197)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:295)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:223)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148)
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:129)
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:145)
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:126)
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:89)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:270)
org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)
org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83)
javax.servlet.GenericServlet.init(GenericServlet.java:212)
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:927)
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:890)
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1150)
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
org.apache.catalina.startup.Catalina.start(Catalina.java:552)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:589)
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)