- 浏览: 754347 次
- 性别:
- 来自: 黑龙江
-
文章分类
- 全部博客 (476)
- web 前端处理 (57)
- 工具类 (33)
- jsp servlet (15)
- html5 (4)
- Hadoop学习笔记 (30)
- linux (25)
- java (45)
- ibatis (5)
- css (10)
- html table (1)
- struts2 (11)
- hibernate (10)
- spring (27)
- server2005 函数学习 (5)
- 一些工具软件记载 (18)
- 数据库 (17)
- cache (2)
- eclipse (7)
- 英文记录 (1)
- 技术扩展了解 (8)
- 加密 (1)
- 服务器 (6)
- 设计模式 (5)
- 管理与沟通 (3)
- Andorid开发 (54)
- javascript基础 (20)
- Extjs (15)
- 文档使用 (1)
- 线程 (11)
- ant与Log (4)
- 异常记载 (1)
- 架构 (6)
- 脚本 (1)
- SparkSQL (3)
- python (6)
最新评论
-
浮生一如梦:
[b][i][u][list]
[*][img][url][f ...
字节,字节数组输入输出流ByteArrayInputStream,ByteArrayOutputStream理解 -
java_frog:
httpclient4里才有default
DefaultHttpClient使用 -
lizhenlzlz:
lizhenlzlz 写道HttpHost proxy = n ...
DefaultHttpClient使用 -
lizhenlzlz:
HttpHost proxy = new HttpHost(& ...
DefaultHttpClient使用 -
kennykinte:
methodGet()方法里
HttpPost httpGet ...
DefaultHttpClient使用
首先定义一个接口和实现类,并在此基础上进行配置---
public interface IUserDao { public void insertUser(UserTable user); } public class UserDaoImpl extends HibernateDaoSupport implements IUserDao{ public void insertUser(UserTable user) { getHibernateTemplate().saveOrUpdate(user); } }
第一种:每个bean设置一个代理,这种是根据具体需求来定,如要对具体到每个交易进行事务操作的话,这个方式是最合适的
<beans> <!-- sessionFactory相当于spring datasource --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <!-- 定义事务管理器(声明式的事务) --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 配置DAO --> <bean id="userDao" class="org.lgh.spring.transaction2.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 每个bean都有一个代理 <property name="target" ref="userDaoTarget" /> --> <bean id="userDaoProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <!-- 配置事务管理器 --> <property name="transactionManager" ref="transactionManager" /> <property name="target" ref="userDao" /> <property name="proxyInterfaces" value="org.lgh.spring.transaction2.IUserDao" /> <!-- 配置事务属性 --> <property name="transactionAttributes"> <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> </beans>
第二种:所有的bean共享一个代理
<!-- 所有的bean共享一个代理--> <beans> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <!-- 定义事务管理器(声明式的事务) --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 所有的bean共享一个代理/> --> <bean id="transactionBase" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true"> <!-- 配置事务管理器 --> <property name="transactionManager" ref="transactionManager" /> <!-- 配置事务属性 --> <property name="transactionAttributes"> <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <!-- 配置DAO --> <bean id="userDao" class="org.lgh.spring.transaction3.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 所有的bean共享一个代理/> --> <bean id="userDaoProxy" parent="transactionBase" > <property name="target" ref="userDao" /> </bean> </beans>
第三种:使用拦截器 来配置你的事务,这个主要是进行一些方法调用前后进行一些其他事件的处理,如进行权限检查等...
<!-- 使用拦截器 --> <beans> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <!-- 定义事务管理器(声明式的事务) --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactionManager" /> <!-- 配置事务属性 --> <property name="transactionAttributes"> <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <bean name="logger" class="org.lgh.spring.transaction4.SpringAOPInterceptor"> </bean> <bean id="logBeforeAdvice" class="com.spring.advices.LogBeforeAdvice"> </bean> <!-- 定义BeanNameAutoProxyCreator,该bean是个bean后处理器,无需被引用,因此没有id属性 这个bean后处理器,根据事务拦截器为目标bean自动创建事务代理 --> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <!-- 加上此句就不会抛出 $Proxy cannot be cast的异常啦--> <property name="proxyTargetClass"> <value>true</value> </property> <property name="beanNames"> <list> <!-- *Dao对应下面的userDao要对它进行拦截--> <value>userDao</value> </list> </property> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> <value>logBeforeAdvice</value> </list> </property> </bean> <!-- 配置DAO --> <bean id="userDao" class="org.lgh.spring.transaction4.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 服务层 service--> <bean id="userService" class="org.lgh.spring.transaction4.UserServiceImpl"> <property name="userDao" ref="userDao" /> </bean> </beans>
第四种:使用aop:config配置方式
execution(* org.lgh.spring.transaction5.*.*(..))中:
第一个 * —— 通配 任意返回值类型|
|第二个 * —— 通配 包org.lgh.spring.transaction5下的任意class|
|第三个 * —— 通配 包org.lgh.spring.transaction5下的任意class的任意方法|
|第四个 .. —— 通配 方法可以有0个或多个参数|
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <context:annotation-config /> <context:component-scan base-package="org.lgh.spring.transaction5" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <!-- 定义事务管理器(声明式的事务) --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <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="add*" propagation="REQUIRED" /> <tx:method name="*" propagation="REQUIRED" /> </tx:attributes> </tx:advice> <aop:config proxy-target-class="true" > <aop:pointcut id="interceptorPointCuts" expression="execution(* org.lgh.spring.transaction5.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" /> </aop:config> <!-- 配置DAO --> <bean id="userDao" class="org.lgh.spring.transaction5.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> </beans>
第五种:注解方式:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <context:annotation-config /> <context:component-scan base-package="org.lgh.spring.transaction6" /> <tx:annotation-driven proxy-target-class ="true" transaction-manager="transactionManager"/> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <!-- 定义事务管理器(声明式的事务) --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 配置DAO --> <bean id="userDao" class="org.lgh.spring.transaction6.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> </beans>
原文: http://jackjobs.iteye.com/blog/1697145
发表评论
-
DruidDataSource学习
2016-03-14 09:10 880DruidDataSource 这个数据源集成后有监控界面, ... -
spring httpinvoke使用
2015-10-14 14:12 9271 实体,必须序列化 public class Uc ... -
Spring JDBCTemplet 基本使用
2015-01-18 17:16 735一、查询,以及返回值得处理 1 JDBCTeample ... -
Spring MVC 文件上传处理
2015-01-06 10:28 13041 文件上传需要处理器 <! ... -
spring管理数据源的动态更换
2014-03-20 15:31 1085&l ... -
spring注解注入和aop的具体应用
2014-03-19 18:41 9931 Spring不但支持自己定义的@Autowi ... -
调试Spring启动速度
2013-11-06 15:30 4353好东西做个记载:出自http://tomcat-oracle ... -
spring 使用 ActiveMQ,JMS使用
2013-03-07 16:04 1487MS 定义了两种方式:Quere(点对点);Topi ... -
spring timer的整合
2013-03-07 10:54 21841 定时任务的spr ... -
spring QZ任务整合
2013-03-07 10:45 21881 QZ任务的使用 & ... -
spring javamail 使用
2013-03-06 16:39 13001 xml配置 <?xml version= ... -
spring整合hibernage配置
2013-03-10 09:30 1837class下面两种类都能实现: 1 org.sprin ... -
spring整合ibatis
2013-03-15 12:47 917通过SqlMapClientTemplate来操纵数据库 ... -
spring与web.xml相关配置
2013-03-10 09:28 1341<!-- 指定spring字符过滤器 - ... -
spring 提供的基础工具类
2013-03-10 09:29 5045文件资源操作 文 ... -
spring DAO支持
2013-03-14 17:49 1332Spring为不同持久化技术所提供的模板类 ... -
spring 属性文件加载
2013-03-15 12:46 879#jdbc.driverClassName=com.mys ... -
spring 数据源整合
2013-03-05 14:41 1032<!--c3p0 连接池的配置--> ... -
spring应用 事务学习2 详细学习
2013-03-05 14:32 12909.5. 声明式事务管理 ... -
事务学习1 配置为主
2013-03-05 14:30 877spring事务管理 ...
相关推荐
内容概要:本文详细介绍了基于MATLAB GUI界面和卷积神经网络(CNN)的模糊车牌识别系统。该系统旨在解决现实中车牌因模糊不清导致识别困难的问题。文中阐述了整个流程的关键步骤,包括图像的模糊还原、灰度化、阈值化、边缘检测、孔洞填充、形态学操作、滤波操作、车牌定位、字符分割以及最终的字符识别。通过使用维纳滤波或最小二乘法约束滤波进行模糊还原,再利用CNN的强大特征提取能力完成字符分类。此外,还特别强调了MATLAB GUI界面的设计,使得用户能直观便捷地操作整个系统。 适合人群:对图像处理和深度学习感兴趣的科研人员、高校学生及从事相关领域的工程师。 使用场景及目标:适用于交通管理、智能停车场等领域,用于提升车牌识别的准确性和效率,特别是在面对模糊车牌时的表现。 其他说明:文中提供了部分关键代码片段作为参考,并对实验结果进行了详细的分析,展示了系统在不同环境下的表现情况及其潜在的应用前景。
嵌入式八股文面试题库资料知识宝典-计算机专业试题.zip
嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_3.zip
内容概要:本文深入探讨了一款额定功率为4kW的开关磁阻电机,详细介绍了其性能参数如额定功率、转速、效率、输出转矩和脉动率等。同时,文章还展示了利用RMxprt、Maxwell 2D和3D模型对该电机进行仿真的方法和技术,通过外电路分析进一步研究其电气性能和动态响应特性。最后,文章提供了基于RMxprt模型的MATLAB仿真代码示例,帮助读者理解电机的工作原理及其性能特点。 适合人群:从事电机设计、工业自动化领域的工程师和技术人员,尤其是对开关磁阻电机感兴趣的科研工作者。 使用场景及目标:适用于希望深入了解开关磁阻电机特性和建模技术的研究人员,在新产品开发或现有产品改进时作为参考资料。 其他说明:文中提供的代码示例仅用于演示目的,实际操作时需根据所用软件的具体情况进行适当修改。
少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 转瞬即逝.zip
内容概要:本文详细介绍了基于PID控制器的四象限直流电机速度驱动控制系统仿真模型及其永磁直流电机(PMDC)转速控制模型。首先阐述了PID控制器的工作原理,即通过对系统误差的比例、积分和微分运算来调整电机的驱动信号,从而实现转速的精确控制。接着讨论了如何利用PID控制器使有刷PMDC电机在四个象限中精确跟踪参考速度,并展示了仿真模型在应对快速负载扰动时的有效性和稳定性。最后,提供了Simulink仿真模型和详细的Word模型说明文档,帮助读者理解和调整PID控制器参数,以达到最佳控制效果。 适合人群:从事电力电子与电机控制领域的研究人员和技术人员,尤其是对四象限直流电机速度驱动控制系统感兴趣的读者。 使用场景及目标:适用于需要深入了解和掌握四象限直流电机速度驱动控制系统设计与实现的研究人员和技术人员。目标是在实际项目中能够运用PID控制器实现电机转速的精确控制,并提高系统的稳定性和抗干扰能力。 其他说明:文中引用了多篇相关领域的权威文献,确保了理论依据的可靠性和实用性。此外,提供的Simulink模型和Word文档有助于读者更好地理解和实践所介绍的内容。
嵌入式八股文面试题库资料知识宝典-2013年海康威视校园招聘嵌入式开发笔试题.zip
少儿编程scratch项目源代码文件案例素材-驾驶通关.zip
小区开放对周边道路通行能力影响的研究.pdf
内容概要:本文探讨了冷链物流车辆路径优化问题,特别是如何通过NSGA-2遗传算法和软硬时间窗策略来实现高效、环保和高客户满意度的路径规划。文中介绍了冷链物流的特点及其重要性,提出了软时间窗概念,允许一定的配送时间弹性,同时考虑碳排放成本,以达到绿色物流的目的。此外,还讨论了如何将客户满意度作为路径优化的重要评价标准之一。最后,通过一段简化的Python代码展示了遗传算法的应用。 适合人群:从事物流管理、冷链物流运营的专业人士,以及对遗传算法和路径优化感兴趣的科研人员和技术开发者。 使用场景及目标:适用于冷链物流企业,旨在优化配送路线,降低运营成本,减少碳排放,提升客户满意度。目标是帮助企业实现绿色、高效的物流配送系统。 其他说明:文中提供的代码仅为示意,实际应用需根据具体情况调整参数设置和模型构建。
少儿编程scratch项目源代码文件案例素材-恐怖矿井.zip
内容概要:本文详细介绍了基于STM32F030的无刷电机控制方案,重点在于高压FOC(磁场定向控制)技术和滑膜无感FOC的应用。该方案实现了过载、过欠压、堵转等多种保护机制,并提供了完整的源码、原理图和PCB设计。文中展示了关键代码片段,如滑膜观测器和电流环处理,以及保护机制的具体实现方法。此外,还提到了方案的移植要点和实际测试效果,确保系统的稳定性和高效性。 适合人群:嵌入式系统开发者、电机控制系统工程师、硬件工程师。 使用场景及目标:适用于需要高性能无刷电机控制的应用场景,如工业自动化设备、无人机、电动工具等。目标是提供一种成熟的、经过验证的无刷电机控制方案,帮助开发者快速实现并优化电机控制性能。 其他说明:提供的资料包括详细的原理图、PCB设计文件、源码及测试视频,方便开发者进行学习和应用。
基于有限体积法Godunov格式的管道泄漏检测模型研究.pdf
嵌入式八股文面试题库资料知识宝典-CC++笔试题-深圳有为(2019.2.28)1.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 V1.5.zip
Android系统开发_Linux内核配置_USB-HID设备模拟_通过root权限将Android设备转换为全功能USB键盘的项目实现_该项目需要内核支持configFS文件系统
C# WPF - LiveCharts Project
少儿编程scratch项目源代码文件案例素材-恐怖叉子 动画.zip
嵌入式八股文面试题库资料知识宝典-嵌⼊式⼯程师⾯试⾼频问题.zip