centos 下 搭建 nodejs 开发环境
2014-10-23 11:32
197 查看
为什么service业务层要引入事务管理器而持久化dao层却没有?
因为持久化层是平台相关的,可以直接通过Jdbctemplate模板采用接口回调方式得到session再得到transaction的方式实现事务管理的功能.
而业务层则是平台无关的,但还要进行事务管理,就引入了事务管理器的概念.
业务层实现类也是通过事务模板采用接口回调的方式,不过它得到的是参数是transactionStatus,再通过事务状态调用底层的持久化技术的API,实现事务管理的功能.
二者实现事务管理的功能都必须依赖于整合hibernate资源的核心入口sessionfactory.
系统级功能:公共的模块化的功能实现
spring声明式事务管理是通过aop代理的方式实现事务管理.这是它的强项.
不管是采用编程式还是声明式事务管理,事务管理器才是它的核心所在.
Spring内置了事务通知,所以我们直接配置就可以使用.
在spring中,AOP和事务管理是最重要的.
AOP 理解: 不改变源代码,增加新的功能.
事务属性的设置是给代理对象看的,因为是运行时织入,它对目标对象毫无意义.
事务的只读属性的设置起数据库优化的作用.超时属性设置释放资源.
使用Aspectj在业务类上添加事务管理注解@Transactional,需要在配置文件中启用基于注解方式的事务管理.可以在方法上声明具体的事务属性以覆盖类上的通用事务属性设置.
<tx:annotation-driven>
pojo+xml方式实现事务管理的功能,是最常用的.它需要配置会话工厂,事务管理器,定义事务通知应用策略,在AOP配置中配出切入点通知组合体.
因为持久化层是平台相关的,可以直接通过Jdbctemplate模板采用接口回调方式得到session再得到transaction的方式实现事务管理的功能.
而业务层则是平台无关的,但还要进行事务管理,就引入了事务管理器的概念.
业务层实现类也是通过事务模板采用接口回调的方式,不过它得到的是参数是transactionStatus,再通过事务状态调用底层的持久化技术的API,实现事务管理的功能.
二者实现事务管理的功能都必须依赖于整合hibernate资源的核心入口sessionfactory.
系统级功能:公共的模块化的功能实现
spring声明式事务管理是通过aop代理的方式实现事务管理.这是它的强项.
不管是采用编程式还是声明式事务管理,事务管理器才是它的核心所在.
Spring内置了事务通知,所以我们直接配置就可以使用.
在spring中,AOP和事务管理是最重要的.
AOP 理解: 不改变源代码,增加新的功能.
事务属性的设置是给代理对象看的,因为是运行时织入,它对目标对象毫无意义.
事务的只读属性的设置起数据库优化的作用.超时属性设置释放资源.
使用Aspectj在业务类上添加事务管理注解@Transactional,需要在配置文件中启用基于注解方式的事务管理.可以在方法上声明具体的事务属性以覆盖类上的通用事务属性设置.
<tx:annotation-driven>
pojo+xml方式实现事务管理的功能,是最常用的.它需要配置会话工厂,事务管理器,定义事务通知应用策略,在AOP配置中配出切入点通知组合体.
相关文章推荐
- CentOS7 快速搭建Nodejs开发环境
- CentOS 7快速搭建Nodejs开发环境
- CentOS 7快速搭建Nodejs开发环境
- Linux 下Android 开发环境搭建 ---CentOS
- Windows下nodejs开发环境搭建
- 在centos (linux) 搭建 eclipse c++开发分环境
- CentOS6.0搭建嵌入式开发环境
- GTK+开发环境搭建(Centos+Netbeans)
- CentOS+JDK+Tomcat+MySql&JDBCDriver 开发环境搭建实录
- CentOS搭建python开发环境
- 在虚拟机(CentOS)中搭建LAMP开发环境2--[安装Nginx]
- centos搭建python开发环境
- 用qemu搭建CentOS 6 for colinux虚拟系统——《Windows下搭建CentOS 6开发环境之一》
- CentOS搭建python开发环境
- CentOS搭建NodeJS环境
- CentOS6.3+JDK7+Tomcat7.0+MySQL5.5 开发环境的搭建
- nodejs开发环境的搭建
- GTK+开发环境搭建(Centos+Netbeans)
- Linux 下Android 开发环境搭建 ---CentOS
- Linux(centos)下用vim搭建php开发环境IDE