- 浏览: 269378 次
- 性别:
- 来自: 新乡
文章分类
- 全部博客 (227)
- servciemix (10)
- db (18)
- javaTools (4)
- hibernate (31)
- web (3)
- spring (14)
- design pattern (4)
- java security (3)
- portal (1)
- ejb (6)
- session (2)
- java_lang (21)
- jbpm (29)
- struts (7)
- orgRights (2)
- project manager Jira (7)
- 跨库事务 (2)
- mysql (14)
- ubuntu (7)
- osgi (9)
- maven ant make (4)
- 分布式 高并发 高性能 (5)
- virgo-dm_server (0)
- osgi web (3)
- platform (1)
- smooks (1)
- business (1)
- 职场生涯 (14)
- Java编码格式 (2)
- web服务 (1)
- 计算机使用 (1)
- 健康工作生活的保障,工作中务必抛掉的不良心态 (4)
- 电信-网络监控 (1)
- 多线程-multithread (1)
- 海量数据-高性能 (2)
- Mybatis (1)
- web开发平台研发 (0)
- oracle (0)
- 应用服务器调优 (0)
- web前端 (0)
- servlet-jsp (0)
- tomcat (2)
- newtouch (1)
- portal_liferay (2)
- version control (1)
- apm-impact (2)
- tools (1)
- 研发管理 (1)
- 电商业务 (1)
- 生鲜电商市场调查 (0)
- PBX (0)
- 房东 (0)
最新评论
-
lifuchao:
...
权限问题 -
Branding:
谢谢,受教了,另外,CONN AS SYSDBA,必须是在操作 ...
Oracle密码忘记了怎么办? -
zhuchao_ko:
...
Portal实现原理 -
败类斯文:
不知道改哪里。。。木有见到红色。。表示悟性低了、、
jira error: Neither the JAVA_HOME nor the JRE_HOME environment variable is defin -
c__06:
正文:假如事务我是这样定义的: <tx:method n ...
Spring中Transactional配置
使用Spring AOP代理方式实现声明式事务的原理
悬赏分:10 | 提问时间:2009-7-3 17:35 | 提问者:windto7sea
<bean id="myTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="gwssiSessionFactory"/>
</property>
</bean>
<bean id="transactionProxyFactoryBean" abstract="true" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="myTransactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
<!--<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="set*">PROPAGATION_REQUIRED,readOnly</prop>-->
</props>
</property>
</bean>
这段代码倒是看得眼睛都腻了 可是到底原理是什么? 配置这么多东西 是如何触发的呢? 请高手赐教啊........
推荐答案
首先将sessionFactory注入到HibernateTransactionManager中,再将HibernateTransactionManager对象注入到TransactionProxyFactoryBean对象中~应该还有一段对sessionFactory的定义
AOP就是面向代理的模式,本来一个应用程序要对某个对象进行操作的,但是这个对象中包含了很多与他本身不相关的业务逻辑,不如日志、锁等等。所以就要想办法把这些无关的东西全部抽离出来。被抽离过的对象就是被代理对象。
此时应用程序再调用的时候,会去调用代理对象,这个对象中包含了对被代理对象的调用以及被抽离出来的无关的业务逻辑方法。被代理对象则是纯粹的业务逻辑。
至于触发的话因为在容器起来的时候,比如tomcat或者jboss,会定义到指定的xml文件然后这些谁注入到谁的东西会被自动识别的。
回答时间:2009-7-4 15:45
悬赏分:10 | 提问时间:2009-7-3 17:35 | 提问者:windto7sea
<bean id="myTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="gwssiSessionFactory"/>
</property>
</bean>
<bean id="transactionProxyFactoryBean" abstract="true" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="myTransactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
<!--<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="set*">PROPAGATION_REQUIRED,readOnly</prop>-->
</props>
</property>
</bean>
这段代码倒是看得眼睛都腻了 可是到底原理是什么? 配置这么多东西 是如何触发的呢? 请高手赐教啊........
推荐答案
首先将sessionFactory注入到HibernateTransactionManager中,再将HibernateTransactionManager对象注入到TransactionProxyFactoryBean对象中~应该还有一段对sessionFactory的定义
AOP就是面向代理的模式,本来一个应用程序要对某个对象进行操作的,但是这个对象中包含了很多与他本身不相关的业务逻辑,不如日志、锁等等。所以就要想办法把这些无关的东西全部抽离出来。被抽离过的对象就是被代理对象。
此时应用程序再调用的时候,会去调用代理对象,这个对象中包含了对被代理对象的调用以及被抽离出来的无关的业务逻辑方法。被代理对象则是纯粹的业务逻辑。
至于触发的话因为在容器起来的时候,比如tomcat或者jboss,会定义到指定的xml文件然后这些谁注入到谁的东西会被自动识别的。
回答时间:2009-7-4 15:45
发表评论
-
如何使用hibernate
2012-05-24 19:21 0一、选择Hibernate还是iBATIS都有它的道理: H ... -
关于hibernate自动建表和主键的数据类型的关系
2012-02-27 16:18 1142要想让hibernate自动建表, 1、除了 <prop ... -
用Spring+Hibernate链接时,在增删改时会报错: Write operations are not allowed in read-only mod
2011-09-11 19:53 881用Spring+Hibernate链接时,在增删改时会报错: ... -
[转]hibernate延迟加载
2011-04-26 11:41 5662007-12-01 [转]hibernate延迟 ... -
Hibernate利用XDoclet自动生成配置文件
2011-04-18 18:34 798Hibernate利用XDoclet自动生 ... -
如何利用 myeclipse 生成Hibernate 配置文件
2011-04-18 18:13 1246在hibernate中,每个数据表对应的其实是一个实体类,每个 ... -
Hibernate Synchronizer是一个Eclipse插件,可以自动生成*.hbm文件、持久化类和DAOs
2011-04-18 18:00 1892Hibernate Synchronizer是一个Eclips ... -
Hibernate auto produce
2011-04-18 17:52 981Hibernate 中需要class和mapp ... -
使用动态代理实现用AOP对数据库进行操作
2011-04-12 14:11 946使用动态代理实现用AOP对数据库进行操作 2008-03-14 ... -
Hibernate中cascade与inverse属性详解
2011-04-01 16:20 938Hibernate中cascade与inverse属性详解 ... -
事务和事务边界
2011-03-31 15:44 101310.1.2 事务和事务边界 http://book.51ct ... -
事务传播行为种类
2011-03-31 15:31 819事务传播行为种类 Spring在TransactionDef ... -
Hibernate saveOrUpdate分析
2011-03-31 15:30 860* Hibernate s ... -
Hibernate Session缓存概述
2011-03-31 15:27 1003* Hibernate Session缓存 ... -
解说Hibernate的工作原理实例
2011-03-31 15:26 871* 解说Hibernate的工作原理实例 ... -
简述Hibernate配置连接池
2011-03-31 15:25 841* 简述Hiber ... -
简单解析J2EE数据持久层设计
2011-03-31 15:24 979* 简单解 ... -
浅析Hibernate Callback接口
2011-03-31 15:23 892* 浅析Hibernate Callbac ... -
概述Hibernate equals()方法
2011-03-31 15:22 768* 概述Hiber ... -
概括潜在的Hibernate性能问题
2011-03-31 15:21 945* 概括潜在的Hibernate性能问题 ...
相关推荐
在Spring框架中,声明式事务管理是通过AOP(面向切面编程)实现的,它为开发者提供了方便、高效且灵活的事务管理机制。本文将深入探讨如何利用Spring的声明式事务来处理业务操作中的数据一致性问题,以及相关源码...
Spring AOP,全称Spring Aspect-Oriented Programming(面向切面编程),是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点,如日志、事务管理、性能监控等。在Spring AOP中,...
本篇文章将重点讨论如何在Spring框架中集成Hibernate,并探讨编程式事务管理和Spring AOP的声明式事务。 首先,让我们理解Spring与Hibernate的集成。为了整合这两个库,你需要在Spring配置文件中定义Hibernate的...
在本“spring AOP(声明式事务管理)小程序”中,我们将深入探讨Spring AOP如何实现声明式事务管理,以及相关的通知类型。 1. **什么是声明式事务管理**: 声明式事务管理是相对于编程式事务管理而言的,后者需要在...
总结一下,Spring基于AOP实现的事务管理通过TransactionProxyFactoryBean,结合声明式事务配置,能够提供一种高效且易于维护的事务解决方案。它允许我们在不修改业务逻辑的情况下,统一管理和控制事务,提升了代码的...
Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的重要组成部分,它为应用程序提供了声明式的企业级服务,如日志、事务管理等。在本项目中,我们将探讨如何通过配置文件实现Spring AOP...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点,如日志、事务管理、性能监控等。AOP的核心概念包括切面(Aspect)、通知(Advice)、连接点...
通过以上步骤,我们成功地在Spring中实现了AOP声明式事务配置。这种方式使得事务管理与业务逻辑分离,代码更简洁、易维护。但需要注意,虽然声明式事务方便,但在复杂场景下可能需要结合编程式事务管理,以获得更高...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点问题,如日志、事务管理、安全性等。本示例将简要介绍如何在Spring应用中实现AOP,通过实际的...
Spring框架-AOP和声明式事务
3. spring-context.jar:提供了上下文支持,包括AOP的配置和声明式事务管理。 4. spring-core.jar:Spring的核心工具包,包含核心的IoC(Inversion of Control)服务和基本的类型转换系统。 5. aspectjrt.jar:...
Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的重要组成部分,它为Java应用程序提供了声明式的企业级服务,如事务管理、性能监控等。在Spring AOP中,我们可以通过定义切面(Aspect...
- **事务管理**:通过AOP实现声明式事务管理,简化事务控制代码。 - **性能监控**:在关键方法前、后插入性能计时通知,便于性能分析。 - **权限校验**:在方法执行前进行用户权限验证,确保安全。 5. **源码...
Spring 中的事务处理可以分为两种方式:声明式事务处理和编程式事务处理。声明式事务处理通过 AOP 的实现,把事务管理代码作为方面封装到业务代码中,使得事务管理代码和业务代码解藕。这使得事务管理变得更加灵活...
1. 注解驱动的AOP:这是最常用的实现方式,通过在方法上添加注解(如`@Before`, `@After`, `@Around`, `@AfterReturning`, `@AfterThrowing`)来定义通知,并使用`@Aspect`注解定义切面。 2. XML配置驱动的AOP:...
Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的一个重要模块,它通过提供声明式的方式来实现面向切面编程,从而简化了应用程序的开发和维护。在Spring AOP中,我们无需深入到每个...
- 事务管理:使用AOP进行事务的声明式管理,简化事务控制代码。 - 权限验证:在方法调用前进行权限检查,确保只有授权用户才能执行特定操作。 7. **性能考虑**: - JDK动态代理需要目标对象实现至少一个接口,而...
Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点,如日志、事务管理等。在Java应用中,AOP通过代理模式实现了切面编程,使得我们可以将业务逻辑...
声明式事务管理主要依赖于Spring的AOP机制。我们可以通过XML配置或注解来声明事务边界。例如,在服务层的方法上使用`@Transactional`注解,可以自动开启、提交或回滚事务。如果方法抛出未检查异常(继承自`...