被问到spring是如何控制事务的?你是怎么回答的?
来源:互联网 发布:记事本软件下载 编辑:程序博客网 时间:2024/06/10 01:16
spring的事务是通过“声明式事务”的方式对事务进行管理,即在配置文件中进行声明,通过AOP将事务切面切入程序。最大的好处是大大减少了代码量,比如:
1
2
3
4
Transaction tx=session.getTransaction();
session.beginTransaction();
tx.commit();
tx.rollback();
等等这类代码不用在每个方法中重复的去写,简化了程序,提高了工作效率。
回复于: 2013-11-04 09:42:23
有道理,如果目前拿4000块钱一个月,那么你不必懂它是怎么实现的。如果我是面试官我也会这样的问题,我觉不期许你都能知道,但如果你刚好都知道那不是太好了么
回复于: 2013-11-04 10:26:49
1.IOC控制反转:控制权由对象本身转向容器,由容器对bean对象进行控制。
2.AOP面向切面编程:把具体的类创建对应的代理类,通过代理类来对具体类进行操作。
spring是一个容器,通过spring这个容器来对对象进行管理,根据配置文件来实现spring对对象的管理。
就这样理解吧,暂时我也只能这么回答,太深入我也不知道怎么说了
2.AOP面向切面编程:把具体的类创建对应的代理类,通过代理类来对具体类进行操作。
spring是一个容器,通过spring这个容器来对对象进行管理,根据配置文件来实现spring对对象的管理。
就这样理解吧,暂时我也只能这么回答,太深入我也不知道怎么说了
回复于: 2013-11-04 17:51:38
SPRING的事务贯彻始终的
源代码没有读过
但是不管AOP还是IOC都有事务支持的
推测一下
SPRING是一个大的容器,一个大的工厂类
那么当你从SPRING中获取一个对象的时候
在建立对象的时候
先开启了事务,然后将对象给你,让 你去使用
在你方法结束后会交回对象
这个时候提交事务并关闭事务
这些操作都在框架内实现
所以只要使用了SPRING就一定会被事务所包围着
源代码没有读过
但是不管AOP还是IOC都有事务支持的
推测一下
SPRING是一个大的容器,一个大的工厂类
那么当你从SPRING中获取一个对象的时候
在建立对象的时候
先开启了事务,然后将对象给你,让 你去使用
在你方法结束后会交回对象
这个时候提交事务并关闭事务
这些操作都在框架内实现
所以只要使用了SPRING就一定会被事务所包围着
回复于: 2013-11-05 11:09:35
要明白事务是怎么样的一个概念,自己写事务又如何做
try{
// 业务逻辑
if(成功)
commit();
}catch(e){
// 出现异常
rollback();
}
spring会捕获到你往上抛的异常,然后帮你try catch,如果发现捕获到异常,会就把connection不提交,直接回滚,所以我们在配置声明式事务的时候会有一个参数是什么异常类,默认应该是runtimexcepttion吧...
try{
// 业务逻辑
if(成功)
commit();
}catch(e){
// 出现异常
rollback();
}
spring会捕获到你往上抛的异常,然后帮你try catch,如果发现捕获到异常,会就把connection不提交,直接回滚,所以我们在配置声明式事务的时候会有一个参数是什么异常类,默认应该是runtimexcepttion吧...
回复于: 2013-11-05 11:13:45
去看看Java的动态代理就明白原理是怎么回事了。
回复于: 2013-11-05 14:33:01
我的建议是这样的,首先回答出IOC和AOP,然后简单的简绍这两个东西,说的不需要太多,但是要达到重点,然后,直接offer,
0 0
- 被问到spring是如何控制事务的?你是怎么回答的?
- spring是如何控制事务的?
- spring是如何管理 事务的
- 你对spring是如何理解的?
- 你是怎么看书的?
- 你是怎么读书的?
- 你是怎么思考的?
- 你是怎么学习的?
- 今天早上失败的面试经历。如果是你,这些问题你会怎么回答?-.-...
- 今天早上失败的面试经历。如果是你,这些问题你会怎么回答?-.-...
- spring+struts2是怎么结合的使用的,spring+Hibernate是如何结合使用的?
- 北岛的《回答》是回答 更是提问
- 现在回答你,中国是个什么样的国家!
- kuka iiwa 机器人是怎么控制的
- 第3章:Prolog是如何回答问题的
- 清明你是怎么过的
- 你是怎么算薪水的?
- 你是怎么利用时间的?
- C++第9周项目 数组和指针 【项目3-人数不定的工资类】(复习新版)
- foreach语句使用总结
- Hdu oj 1285 确定比赛名次(拓扑排序)
- k3调拨单中新增一级菜单及二级菜单
- WebLogic启动失败Parsing Failure in config.xml: weblogic.descriptor.ResourceUnavailableException: Missing
- 被问到spring是如何控制事务的?你是怎么回答的?
- Codeforces 672 C. Recycling Bottles(Codeforces Round #352 (Div. 2))
- angularjs和vuejs的路由用#识别路径
- 九九乘法表
- 学习ActionBar的用法
- JAVA——集合变数组
- 详解Java异常处理中throw与throws关键字的用法区别
- zookeeper分布式部署方案
- 排序算法(二)