Spring管理 hibernate 事务配置的五种方式

保姆级教程:用Docker Compose一键部署WVP-PRO+ZLM+录像服务(含Nginx反代) 本文提供了一套完整的容器化GB28181视频平台部署方案,通过Docker Compose实现WVP-PRO、ZLMediaKit(ZLM)和录像服务的一键式部署。详细介绍了环境准备、架构设计、容器化部署实战以及高级配置优化,帮助用户快速搭建高性能视频监控管理平台,适用于安防行业和物联网设备管理场景。 阅读详情

Spring配置文件中关于事务配置总是由三个组成部分,DataSource、TransactionManager和代理机制这三部分,无论是那种配置方法,一般变化的只是代理机制这块!

 

首先我创建了两个类,一个接口一个实现:

Java代码   收藏代码
  1. package com.dao;  
  2. public interface UserDao {  
  3.     public void getUser();    
  4. }  

 

实现:

Java代码   收藏代码
  1. package com.dao.impl;  
  2. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;  
  3. import com.dao.UserDao;  
  4. public class UserDaoImpl extends HibernateDaoSupport implements UserDao {  
  5.     public void getUser(){        
  6.     }     
  7. }  

 

 

第一种:每个Bean都有一个代理:

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  7.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  
  8.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">  
  9.     <!-- 数据源 -->  
  10.     <bean id="dataSource"  
  11.         class="org.apache.commons.dbcp.BasicDataSource"  
  12.         destroy-method="close">  
  13.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  14.         <property name="url"  
  15.             value="jdbc:mysql://192.168.0.244:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />  
  16.         <property name="username" value="root" />  
  17.         <property name="password" value="root" />  
  18.         <!-- 连接池启动时的初始值 -->  
  19.         <property name="initialSize" value="10" />  
  20.         <!-- 连接池的最大值 -->  
  21.         <property name="maxActive" value="10" />  
  22.         <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->  
  23.         <property name="maxIdle" value="20" />  
  24.         <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->  
  25.         <property name="minIdle" value="10" />  
  26.         <property name="defaultAutoCommit" value="true" />  
  27.     </bean>  
  28.     <!-- 会话工厂 -->  
  29.     <bean id="sessionFactory"  
  30.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  31.         <property name="dataSource" ref="dataSource" />  
  32.         <property name="mappingLocations">  
  33.             <list>  
  34.                 <value>classpath:/com/nms/entity/**/*.hbm.xml</value>  
  35.             </list>  
  36.         </property>  
  37.         <property name="hibernateProperties">  
  38.             <props>  
  39.                 <prop key="hibernate.dialect">  
  40.                     org.hibernate.dialect.MySQL5Dialect  
  41.                 </prop>  
  42.                 <prop key="hibernate.show_sql">true</prop>  
  43.                 <prop key="hibernate.format_sql">true</prop>  
  44.             </props>  
  45.         </property>  
  46.     </bean>      
  47.     <!-- 定义事务管理器 -->    
  48.     <bean id="transactionManager"  
  49.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  50.         <property name="sessionFactory" ref="sessionFactory" />  
  51.     </bean>      
  52.     <!-- 配置服务层 -->  
  53.     <bean id="userDaoAgency" class="com.dao.impl.UserDaoImpl">  
  54.         <property name="sessionFactory" ref="sessionFactory" />  
  55.     </bean>      
  56.     <bean id="userDao"    
  57.         class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">    
  58.         <!-- 配置事务管理器 -->    
  59.         <property name="transactionManager" ref="transactionManager" />       
  60.         <property name="target" ref="userDaoAgency" />    
  61.         <property name="proxyInterfaces" value="com.dao.UserDao" />  
  62.         <!-- 配置事务属性 -->    
  63.         <property name="transactionAttributes">    
  64.             <props>    
  65.                 <prop key="*">PROPAGATION_REQUIRED</prop>  
  66.             </props>    
  67.         </property>    
  68.     </bean>  
  69. </beans>  

 

 

第二种:所有Bean共享一个代理:

Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  7.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  
  8.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">  
  9.     <!-- 数据源 -->  
  10.     <bean id="dataSource"  
  11.         class="org.apache.commons.dbcp.BasicDataSource"  
  12.         destroy-method="close">  
  13.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  14.         <property name="url"  
  15.             value="jdbc:mysql://192.168.0.244:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />  
  16.         <property name="username" value="root" />  
  17.         <property name="password" value="root" />  
  18.         <!-- 连接池启动时的初始值 -->  
  19.         <property name="initialSize" value="10" />  
  20.         <!-- 连接池的最大值 -->  
  21.         <property name="maxActive" value="10" />  
  22.         <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->  
  23.         <property name="maxIdle" value="20" />  
  24.         <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->  
  25.         <property name="minIdle" value="10" />  
  26.         <property name="defaultAutoCommit" value="true" />  
  27.     </bean>  
  28.     <!-- 会话工厂 -->  
  29.     <bean id="sessionFactory"  
  30.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  31.         <property name="dataSource" ref="dataSource" />  
  32.         <property name="mappingLocations">  
  33.             <list>  
  34.                 <value>classpath:/com/nms/entity/**/*.hbm.xml</value>  
  35.             </list>  
  36.         </property>  
  37.         <property name="hibernateProperties">  
  38.             <props>  
  39.                 <prop key="hibernate.dialect">  
  40.                     org.hibernate.dialect.MySQL5Dialect  
  41.                 </prop>  
  42.                 <prop key="hibernate.show_sql">true</prop>  
  43.                 <prop key="hibernate.format_sql">true</prop>  
  44.             </props>  
  45.         </property>  
  46.     </bean>  
  47.     <!-- 定义事务管理器 -->  
  48.     <bean id="transactionManager"  
  49.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  50.         <property name="sessionFactory" ref="sessionFactory" />  
  51.     </bean>  
  52.      <!-- 定义事务 -->  
  53.     <bean id="base"  
  54.         class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"  
  55.         lazy-init="true" abstract="true">  
  56.         <!-- 配置事务管理器 -->  
  57.         <property name="transactionManager" ref="transactionManager" />  
  58.         <!-- 配置事务属性 -->  
  59.         <property name="transactionAttributes">  
  60.             <props>  
  61.                 <prop key="*">PROPAGATION_REQUIRED</prop>  
  62.             </props>  
  63.         </property>  
  64.     </bean>  
  65.     <!-- 配置服务层 -->  
  66.     <bean id="userDao"  
  67.         class="com.dao.impl.UserDaoImpl">  
  68.         <property name="sessionFactory" ref="sessionFactory" />  
  69.     </bean>  
  70.     <!-- 代理对象 -->  
  71.     <bean id="userDaoAgency" parent="base">  
  72.         <property name="target" ref="userDao" />  
  73.     </bean>  
  74. </beans>  

 

 

第三种:拦截器:

Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  7.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  
  8.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">  
  9.     <!-- 数据源 -->  
  10.     <bean id="dataSource"  
  11.         class="org.apache.commons.dbcp.BasicDataSource"  
  12.         destroy-method="close">  
  13.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  14.         <property name="url"  
  15.             value="jdbc:mysql://192.168.0.244:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />  
  16.         <property name="username" value="root" />  
  17.         <property name="password" value="root" />  
  18.         <!-- 连接池启动时的初始值 -->  
  19.         <property name="initialSize" value="10" />  
  20.         <!-- 连接池的最大值 -->  
  21.         <property name="maxActive" value="10" />  
  22.         <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->  
  23.         <property name="maxIdle" value="20" />  
  24.         <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->  
  25.         <property name="minIdle" value="10" />  
  26.         <property name="defaultAutoCommit" value="true" />  
  27.     </bean>  
  28.     <!-- 会话工厂 -->  
  29.     <bean id="sessionFactory"  
  30.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  31.         <property name="dataSource" ref="dataSource" />  
  32.         <property name="mappingLocations">  
  33.             <list>  
  34.                 <value>classpath:/com/nms/entity/**/*.hbm.xml</value>  
  35.             </list>  
  36.         </property>  
  37.         <property name="hibernateProperties">  
  38.             <props>  
  39.                 <prop key="hibernate.dialect">  
  40.                     org.hibernate.dialect.MySQL5Dialect  
  41.                 </prop>  
  42.                 <prop key="hibernate.show_sql">true</prop>  
  43.                 <prop key="hibernate.format_sql">true</prop>  
  44.             </props>  
  45.         </property>  
  46.     </bean>      
  47.      <!-- 定义事务管理器(声明式的事务) -->    
  48.     <bean id="transactionManager"  
  49.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  50.         <property name="sessionFactory" ref="sessionFactory" />  
  51.     </bean>     
  52.      <!-- 定义事务 -->   
  53.     <bean id="transactionInterceptor"    
  54.         class="org.springframework.transaction.interceptor.TransactionInterceptor">    
  55.         <property name="transactionManager" ref="transactionManager" />    
  56.         <!-- 配置事务属性 -->    
  57.         <property name="transactionAttributes">    
  58.             <props>    
  59.                 <prop key="*">PROPAGATION_REQUIRED</prop>    
  60.             </props>    
  61.         </property>    
  62.     </bean>        
  63.     <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">    
  64.         <property name="beanNames">    
  65.             <list>    
  66.                 <value>*DaoImpl</value>  
  67.             </list>    
  68.         </property>    
  69.         <property name="interceptorNames">    
  70.             <list>    
  71.                 <value>transactionInterceptor</value>    
  72.             </list>    
  73.         </property>    
  74.     </bean>    
  75.     <!-- 配置服务层 -->  
  76.     <bean id="userDaoAgency" class="com.dao.impl.UserDaoImpl">  
  77.         <property name="sessionFactory" ref="sessionFactory" />  
  78.     </bean>  
  79. </beans>  

 

 

第四种:使用tx标签配置的拦截器:

Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:aop="http://www.springframework.org/schema/aop"  
  6.     xmlns:tx="http://www.springframework.org/schema/tx"  
  7.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  8.            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
  9.            http://www.springframework.org/schema/context  
  10.            http://www.springframework.org/schema/context/spring-context-2.5.xsd  
  11.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd  
  12.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">  
  13.     <!-- 数据源 -->  
  14.     <bean id="dataSource"  
  15.         class="org.apache.commons.dbcp.BasicDataSource"  
  16.         destroy-method="close">  
  17.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  18.         <property name="url"  
  19.             value="jdbc:mysql://192.168.0.244:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />  
  20.         <property name="username" value="root" />  
  21.         <property name="password" value="root" />  
  22.         <!-- 连接池启动时的初始值 -->  
  23.         <property name="initialSize" value="10" />  
  24.         <!-- 连接池的最大值 -->  
  25.         <property name="maxActive" value="10" />  
  26.         <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->  
  27.         <property name="maxIdle" value="20" />  
  28.         <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->  
  29.         <property name="minIdle" value="10" />  
  30.         <property name="defaultAutoCommit" value="true" />  
  31.     </bean>  
  32.     <!-- 会话工厂 -->  
  33.     <bean id="sessionFactory"  
  34.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  35.         <property name="dataSource" ref="dataSource" />  
  36.         <property name="mappingLocations">  
  37.             <list>  
  38.                 <value>classpath:/com/nms/entity/**/*.hbm.xml</value>  
  39.             </list>  
  40.         </property>  
  41.         <property name="hibernateProperties">  
  42.             <props>  
  43.                 <prop key="hibernate.dialect">  
  44.                     org.hibernate.dialect.MySQL5Dialect  
  45.                 </prop>  
  46.                 <prop key="hibernate.show_sql">true</prop>  
  47.                 <prop key="hibernate.format_sql">true</prop>  
  48.             </props>  
  49.         </property>  
  50.     </bean>  
  51.     <context:annotation-config />  
  52.     <context:component-scan base-package="com.dao" />  
  53.     <!-- 定义事务管理器 -->    
  54.     <bean id="transactionManager"  
  55.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  56.         <property name="sessionFactory" ref="sessionFactory" />  
  57.     </bean>  
  58.     <!-- 定义事务 -->  
  59.     <tx:advice id="txAdvice" transaction-manager="transactionManager">  
  60.         <tx:attributes>  
  61.             <tx:method name="*" propagation="REQUIRED" />  
  62.         </tx:attributes>  
  63.     </tx:advice>  
  64.     <!-- 定义切面 -->  
  65.     <aop:config>  
  66.         <aop:pointcut id="interceptorPointCuts" expression="execution(* com.dao.*.*(..))" />  
  67.         <aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" />  
  68.     </aop:config>  
  69. </beans>  

 

 

第五种:注解:

Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:context="http://www.springframework.org/schema/context"  
  5.     xmlns:aop="http://www.springframework.org/schema/aop"  
  6.     xmlns:tx="http://www.springframework.org/schema/tx"  
  7.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  8.            http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
  9.            http://www.springframework.org/schema/context  
  10.            http://www.springframework.org/schema/context/spring-context-2.5.xsd  
  11.            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd  
  12.            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">  
  13.     <!-- 数据源 -->  
  14.     <bean id="dataSource"  
  15.         class="org.apache.commons.dbcp.BasicDataSource"  
  16.         destroy-method="close">  
  17.         <property name="driverClassName" value="com.mysql.jdbc.Driver" />  
  18.         <property name="url"  
  19.             value="jdbc:mysql://192.168.0.244:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />  
  20.         <property name="username" value="root" />  
  21.         <property name="password" value="root" />  
  22.         <!-- 连接池启动时的初始值 -->  
  23.         <property name="initialSize" value="10" />  
  24.         <!-- 连接池的最大值 -->  
  25.         <property name="maxActive" value="10" />  
  26.         <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 -->  
  27.         <property name="maxIdle" value="20" />  
  28.         <!--  最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->  
  29.         <property name="minIdle" value="10" />  
  30.         <property name="defaultAutoCommit" value="true" />  
  31.     </bean>  
  32.     <!-- 会话工厂 -->  
  33.     <bean id="sessionFactory"  
  34.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  35.         <property name="dataSource" ref="dataSource" />  
  36.         <property name="mappingLocations">  
  37.             <list>  
  38.                 <value>classpath:/com/nms/entity/**/*.hbm.xml</value>  
  39.             </list>  
  40.         </property>  
  41.         <property name="hibernateProperties">  
  42.             <props>  
  43.                 <prop key="hibernate.dialect">  
  44.                     org.hibernate.dialect.MySQL5Dialect  
  45.                 </prop>  
  46.                 <prop key="hibernate.show_sql">true</prop>  
  47.                 <prop key="hibernate.format_sql">true</prop>  
  48.             </props>  
  49.         </property>  
  50.     </bean>  
  51.     <context:annotation-config />  
  52.     <!-- 使用注解的包路径 -->  
  53.     <context:component-scan base-package="com.dao" />  
  54.     <!-- 支持  @Transactional 标记 -->  
  55.     <tx:annotation-driven transaction-manager="transactionManager"/>  
  56.     <!-- 定义事务管理器 -->    
  57.     <bean id="transactionManager"  
  58.         class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  59.         <property name="sessionFactory" ref="sessionFactory" />  
  60.     </bean>  
  61. </beans>  

 

如果使用了注解,那么实现类应该这样写:

Java代码   收藏代码
  1. package com.dao.impl;  
  2. import org.springframework.orm.hibernate3.support.HibernateDaoSupport;  
  3. import org.springframework.stereotype.Component;  
  4. import org.springframework.transaction.annotation.Transactional;  
  5. import com.dao.UserDao;  
  6. @Transactional  
  7. @Component("userDaoAgency")  
  8. public class UserDaoImpl extends HibernateDaoSupport implements UserDao {  
  9.     /** 
  10.      * 为方法增加事务处理特性 
  11.      */  
  12.     @Transactional(readOnly=true)  
  13.     public void getUser(){        
  14.     }     
  15. }  

 

这样每个方法都能自己定义自己的事务处理!




转自:http://www.iteye.com/topic/1123347


以上内容,是从网络找到的资料总结而来,仅供参考!

基于YOLOv8的工业瓷砖缺陷检测:深度学习与UI界面的应用 本文详细介绍了如何使用YOLOv8进行工业瓷砖缺陷检测,并结合图形用户界面(UI)提供了完整的实现方案。通过YOLOv8模型,我们可以高效、精确地检测瓷砖图像中的缺陷,显著提高生产过程中的质量控制水平。随着数据集的进一步扩展和YOLOv8模型的不断优化,未来瓷砖缺陷检测的精度和速度将不断提高。此外,基于深度学习的缺陷检测技术不仅可以应用于瓷砖生产,还可以推广到其他领域的质量检测中。 阅读详情

相关推荐

Miniconda3迁移(附图详细过程)

服务器上目录占满,想要将conda迁移到其他目录下的操作方法,详细教程。

2301_77554343的博客 6947

SpringBoot 集成 Hibernate 及事务管理配置

笔者之前维护的一个 spring mvc + hibernate 4.x 的旧项目,最近将这个项目升级到了 spring boot 2.3.12 + hibernate 5.x,将集成过程和一些需要注意的地方记录下来,方便后续继续研究。

指尖流连敲击梦想,代码行行承载远方! 4754

超详细YOLOv8目标检测全程概述:环境、训练、验证与预测详解

这篇博文提供了一个关于使用YOLOv8进行目标检测的全面指南,包括环境搭建、模型训练、验证和预测的详细步骤,以及如何解释训练过程中生成的各种图表和数据。整篇文章为读者提供了一个关于如何利用YOLOv8进行目标检测的实践指南,从环境搭建到模型部署,再到结果分析,每一部分都给出了详细的步骤和解释。此外,还有对于模型输出的解释,帮助读者更好地理解和使用YOLOv8模型。

CDBmax的博客 10万+

一文教会你如何在SpringBoot项目里集成Hibernate

Hibernate是一个流行的ORM(对象关系映射)框架,它可以将Java对象映射到数据库表,从而方便地进行持久化操作。在Spring Boot项目中,集成Hibernate可以帮助我们更轻松地进行数据库操作,本文将介绍如何在Spring Boot项目中集成Hibernate,并提供相应的示例。

郝老三~~~~~~~~~~~~~ 4856

YOLOv10注意力革新:小波域注意力(WDA)如何实现多尺度特征精准聚焦

本文深入解析YOLOv10中的小波域注意力(WDA)机制,探讨其如何通过频域分解与动态聚焦实现多尺度特征精准提取。WDA模块结合离散小波变换与注意力机制,显著提升小目标检测性能,在VisDrone数据集上AP提升达12.6%。文章详细介绍了两种集成方案及代码实现,为计算机视觉开发者提供实用指南。

weixin_29079671的博客 254

STM32f103--ADC配置

2.对于规则通道,选中EXTI线路11或TIM8_TRGO作为外部触发事件,可以分别通过设置ADC1和ADC2的ADC1_ETRGREG_REMAP位和ADC2_ETRGREG_REMAP位实现。注意: 在双ADC模式里,当转换配置成由外部事件触发时,用户必须将其设置成仅触发主ADC,从ADC设置成软件触发,这样可以防止意外的触发从转换。2.在某些双ADC模式中,在完整的ADC1数据寄存器(ADC1_DR)中包含了ADC1和ADC2的规则转换数据。通过设置ADC_CR2寄存器的ADON位可给ADC上电。

weixin_51864506的博客 5314

Spring Boot 2.1.5版本(一)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34148508的博客 610

[USACO2023-JAN-Bronze] T2 Air Cownditioning II 题解

[USACO2023-JAN-Bronze] T2 Air Cownditioning II题解

1652

【Spring】spring-mvc hibernate druid jdbc等数据源事务配置详解(解决注解事务不生效问题)

今天把工程事务不生效的事情个解决了。所有的配置都是正常的,就是不知道为什么事务不生效。 工程架构为spring-mvc + spring + druid  首先说下spring的事务: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。      Data

封宸落宇的专栏 4028

Camera HAL Camx — DRQ总结

Camera HAL — DRQ(延迟请求队列)总结 DRQ是CAMX核心层的依赖驱动延迟执行调度器,解决Node处理请求时依赖未就绪的问题。其主要特点包括: 核心功能:当Node处理请求时缺少必要输入(property/metadata/fence),DRQ将其挂起并在依赖满足后重新调度,避免阻塞流水线或丢帧。 系统架构:Session持有主DRQ实例,管理该Session下所有Pipeline Node的依赖;CHI context另有独立DRQ实例专门处理Chi fence同步。 关键数据结构: De

DU_YULIN的博客 77

SAP-ABAP:SAP数据库视图(Database View)详解-创建

数据库视图是SAP中实现多表关联查询的基础工具,适合简单的跨表查询和权限控制场景。但其功能有限,对于复杂逻辑或高性能需求,建议结合CDS视图或ABAP程序开发。通过合理设计,数据库视图可显著提升开发效率和系统可维护性。它存储在数据库中,但本身不存储数据,仅通过查询动态生成结果。是一种基于物理数据库表的虚拟表,通过关联多个表(使用。

baidu_35680696的博客 1370

Spring管理 hibernate 事务配置的五种方式

Spring配置文件中关于事务配置总是由三个组成部分,DataSource、TransactionManager和代理机制这三部分,无论是那种配置方法,一般变化的只是代理机制这块! 首先我创建了两个类,一个接口一个实现: Java代码 packagecom.dao; publicinterfaceUserDao{ public...

banheny72467的博客 137

PyTorch深度学习实战(39)——少样本学习(Few-shot Learning)

小样本学习 (Few-shot Learning) 旨在解决在训练集中只有很少样本的情况下进行分类和推理的问题。在小样本学习中,我们希望通过利用已有的少量样本和先验知识来进行泛化,以便在面对新的、未见过的类别时能够做出准确的预测。这就要求模型能够从有限的训练样本中提取出有用的信息,并能够将这些信息应用到新类别的样本中去。在本节中,将介绍孪生、原型和关系网络的原理,并使用 PyTorch 实现孪生网络。

盼小辉丶的博客 1万+

面试题整理--开发中实现spring的事务有5种方式

https://blog.youkuaiyun.com/zhouyy40308/article/details/78630275 Spring+Hibernate的实质: 就是把Hibernate用到的数据源Dataso...

214

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Spring事务配置的五种方式

Spring事务配置的五种方式      总结如下:      Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。      DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时...

yuanye_0214的专栏 145

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

五种Spring事务的配置方式

第一种方式:每个Bean都有一个代理 [code="java"] ...

行动起来 105

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 用spring控制hibernate的session何时关闭
下一篇: Struts2与DWR在项目中的共存解决方案
zljjava
博客等级 码龄15年 155粉丝 15原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值