框架问题

1: Spring

spring是一个轻量级框架,是非侵入式的,开发的应用一班不依赖于spring,spring对框架提供了很好的集成作用

spring 主要有两个核心技术aop,ioc
ioc(控制反转)将自己创建对象的权利反转给spring工厂,由spring来控制对象的产生跟销毁,最大好处		  在于依赖注入

aop(面向切面)类似于一个过滤器,在进行数据的增删改时需要使用事物管理,在增删改方法执行前需	要开启事物,执行后需要提交事物,可以在开启事物跟提交事物的地方设置两个切点将事物管理交由spring控制

spring提供了3种依赖注入方式setter注入,构造注入,接口注入(已被遗弃)

2:Hibernate

hibernate是基于orm(o对象  r关系  m映射)模式的框架

hibernate里的对象有3种状态
      临时状态:不存在于数据库也不在session的管理范围内
      持久态:存在数据库类也在session管理范围内,对该状态下的对象属性进行修改,hibernate会自动向数据库发送一条修改语句
      游离态:存在于数据库但不在session管理内
      将临时状态变为持久态可调用session.save(object),就持久态变为游离态可调用session.remove(object)(清除指定对象),session.clear(清空session所管理的全部对象)
hibernate的缓存级别
	一级缓存为session级缓存,当在同一个session中调用两次一样的查询语句第二次将不会到数据库中拿数据
	二级缓存为sessionfacotey级缓存,可以跨session,二级缓存可能会产生n+1问题
	一级缓存为默认开启,二级缓存需要手动开启
	
hibernate有两个可以得到session的方法getcurrentsession(),opensession()
	getcurrentsession():查看当前是否存在session,如果存在直接返回当前session,如果不存在则创建一个新的返回
	opensession:不管当前是否存在session都会创建一个新的session返回

3:struts2跟springmvc的区别

struts2的入口为filter,springmvc的入口为servlet	     

springmvc比Struts快,springmvc基于方法,而Struts2基于类每次请求都会实例化一个action 
struts具有侵入性(action必须实现actionsuper),spring则没有

4:hibernate跟mybatis的区别

 效率上
hibernate为全自动方式,普通的sql已经封装好,开发效率高
mybatis需要手动写sql

性能上
hibernate自动生成sql,有些语句过于繁琐,会多消耗一些性能
mybatis手动编写sql可以避免不必要的查询,提高系统性能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值