这篇文章将为大家详细讲解有关spring mvc无法支持事务控制如何解决,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
spring-mybatis.xml 配置
<bean id="configReader" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:spring/db.properties</value> </list> </property> <property name="ignoreResourceNotFound" value="true"/> </bean> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.oracle.DriverClassName}"></property> <property name="jdbcUrl" value="${jdbc.oracle.Url}"></property> <property name="user" value="${jdbc.oracle.UserName}"></property> <property name="password" value="${jdbc.oracle.UserPassword}"></property> <property name="acquireIncrement" value="5"></property> <property name="initialPoolSize" value="5"></property> <property name="maxIdleTime" value="60"></property> <property name="maxPoolSize" value="100"></property> <property name="minPoolSize" value="5"></property> </bean> <!-- 配置数据源:MySQL start --> <bean name="mySqlDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="${jdbc.mysql.DriverClassName}"/> <property name="url" value="${jdbc.mysql.Url}"/> <property name="username" value="${jdbc.mysql.UserName}"/> <property name="password" value="${jdbc.mysql.UserPassword}"/> <!-- 初始化连接大小 --> <property name="initialSize" value="5"/> <!-- 连接池最大使用连接数量 --> <property name="maxActive" value="30"/> <!-- 连接池最小空闲 --> <property name="minIdle" value="2"/> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="300"/> <property name="validationQuery" value="SELECT 1"/> <property name="testOnBorrow" value="false"/> <property name="testOnReturn" value="false"/> <property name="testWhileIdle" value="true"/> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="10000"/> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="30000"/> <!-- 打开removeAbandoned功能 --> <property name="removeAbandoned" value="true"/> <!-- 1800秒,也就是30分钟 --> <property name="removeAbandonedTimeout" value="1800"/> <!-- 关闭abanded连接时输出错误日志 --> <property name="logAbandoned" value="true"/> <!-- 监控数据库 --> <property name="filters" value="stat"/> </bean> <bean id="multipleDataSource" class="com.we.database.MultipleDataSource"> <property name="defaultTargetDataSource" ref="dataSource"/> <property name="targetDataSources"> <map> <entry key="oracleDataSource" value-ref="dataSource"/> <entry key="mySqlDataSource" value-ref="mySqlDataSource"/> </map> </property> </bean> <!-- oracle myBatis file --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="multipleDataSource"/> <!--<property name="configLocation" value="classpath:configuration.xml" /> --> <property name="mapperLocations" value="classpath:com/we/dao/mapper/*.xml"/> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.we.dao"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean> <!-- configure transaction --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <!-- annotation transaction --> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/> <!-- interception transatcion --> <tx:advice id="transactionAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <!-- 配置数据库注解aop --> <bean id="dataSourceAspect" class="com.we.database.DataSourceAspect"/> <aop:config> <aop:pointcut id="transactionPointcut" expression="execution(* com.wewe.licai.service..*Impl.*(..))"/> <aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice" order="2"/> <!--数据源选择切面,保证在事务开始之前执行--> <aop:advisor pointcut-ref="transactionPointcut" advice-ref="dataSourceAspect" order="1" /> </aop:config>
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1142
183.71 KB下载数642
644.84 KB下载数2755
相关文章
发现更多好内容猜你喜欢
AI推送时光机spring mvc无法支持事务控制如何解决
后端开发2023-05-31
redis不支持事务回滚如何解决
后端开发2023-09-16
thinkphp无法访问控制器如何解决
后端开发2023-07-06
电脑家长控制无法打开如何解决
后端开发2023-06-27
windows xbox控制台无法显示好友如何解决
后端开发2023-07-01
无法加载控制器 1.php错误如何解决
后端开发2023-07-06
windows xbox控制台目前无法登录如何解决
后端开发2023-07-01
电脑Nvidia控制面板无法启动如何解决
后端开发2023-10-21
php版本控制时无法调用commit如何解决
后端开发2023-07-05
windows xbox控制台无法连接网络如何解决
后端开发2023-07-01
云服务器无法复制如何解决
后端开发2023-09-26
windows xbox控制台小帮手无法登陆如何解决
后端开发2023-07-01
win7的用户账户控制无法点击如何解决
后端开发2023-06-28
云服务器无法复制如何解决
后端开发2024-04-12
teamviewer远程控制显示无法连接伙伴如何解决
后端开发2023-07-01
windows xbox控制台小帮手无法登陆0x406如何解决
后端开发2023-07-01
windows xbox控制台小帮手无法登陆0x404如何解决
后端开发2023-07-01
win7更改用户账户控制设置无法打开如何解决
后端开发2023-07-01
如何解决XP系统下控制面板功能无法打开的问题
后端开发2023-06-13
咦!没有更多了?去看看其它编程学习网 内容吧